Zelda Classic Coverage Report


Directory: src/
File: src/subscr.cpp
Date: 2023-03-10 04:06:16
Exec Total Coverage
Lines: 1249 2248 55.6%
Functions: 39 52 75.0%
Branches: 955 1922 49.7%

Line Branch Exec Source
1 //--------------------------------------------------------
2 // Zelda Classic
3 // by Jeremy Craner, 1999-2000
4 //
5 // subscr.cc
6 //
7 // Subscreen code for zelda.cc
8 //
9 //--------------------------------------------------------
10
11 #include "precompiled.h" //always first
12
13 #include "subscr.h"
14 #include "base/zapp.h"
15 #include "zelda.h"
16 #include "tiles.h"
17
1/2
✓ Branch 0 taken 29 times.
✗ Branch 1 not taken.
29 #include "base/zsys.h"
18 #include "guys.h"
19 #include "hero.h"
20 #include "gamedata.h"
21 #include "items.h"
22 #include <stdio.h>
23 #include <string.h>
24 #include "ffscript.h"
25
26 bool show_subscreen_dmap_dots=true;
27 bool show_subscreen_numbers=true;
28 bool show_subscreen_items=true;
29 bool show_subscreen_life=true;
30 bool new_sel=false;
31
32 extern sprite_list guys, items, Ewpns, Lwpns, Sitems, chainlinks, decorations;
33 extern HeroClass Hero;
34 extern FFScript FFCore;
35
36 subscreen_group *current_subscreen_active;
37 subscreen_group *current_subscreen_passive;
38
39 subscreen_group custom_subscreen[MAXCUSTOMSUBSCREENS];
40
41 static const int32_t notscrolling = sspUP | sspDOWN;
42 static const int32_t pos = notscrolling | sspSCROLLING;
43
44 subscreen_object z3_active_a[80]=
45 {
46 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
47 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
48 { sso2X2FRAME, pos, 8, 0, 19, 12, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
49 { sso2X2FRAME, pos, 8, 96, 19, 9, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
50 { sso2X2FRAME, pos, 168, 0, 10, 6, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
51 { sso2X2FRAME, pos, 168, 48, 10, 7, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
52 { sso2X2FRAME, pos, 168, 104, 10, 8, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
53 { sso2X2FRAME, pos, 8, 0, 19, 12, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
54 { sso2X2FRAME, pos, 8, 96, 19, 9, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
55 { sso2X2FRAME, pos, 168, 0, 10, 6, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
56 { sso2X2FRAME, pos, 168, 48, 10, 7, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
57 { sso2X2FRAME, pos, 168, 104, 10, 8, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
58 { ssoCURRENTITEM, pos, 176, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_sword, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
59 { ssoCURRENTITEM, pos, 200, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
60 { ssoCURRENTITEM, pos, 224, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
61 { ssoCURRENTITEM, pos, 200, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
62 { ssoCURRENTITEM, pos, 28, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
63 { ssoCURRENTITEM, pos, 52, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
64 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
65 { ssoCURRENTITEM, pos, 100, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
66 { ssoCURRENTITEM, pos, 124, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
67 { ssoCURRENTITEM, pos, 28, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
68 { ssoCURRENTITEM, pos, 52, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
69 { ssoCURRENTITEM, pos, 76, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
70 { ssoCURRENTITEM, pos, 100, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
71 { ssoCURRENTITEM, pos, 124, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_quiver, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
72 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
73 { ssoCURRENTITEM, pos, 32, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_bowandarrow, 1, 0, 10, 5, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
74 { ssoCOUNTER, pos, 44, 26, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
75 { ssoCURRENTITEM, pos, 56, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 1, 11, 6, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
76 { ssoCURRENTITEM, pos, 80, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 2, 12, 7, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
77 { ssoCURRENTITEM, pos, 104, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 3, 13, 8, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
78 { ssoCOUNTER, pos, 116, 26, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
79 { ssoCURRENTITEM, pos, 128, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 4, 14, 9, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
80 { ssoCURRENTITEM, pos, 32, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 5, 0, 10, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
81 { ssoCURRENTITEM, pos, 56, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 6, 1, 11, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
82 { ssoCOUNTER, pos, 68, 50, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
83 { ssoCURRENTITEM, pos, 80, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_dinsfire, 1, 7, 2, 12, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
84 { ssoCURRENTITEM, pos, 104, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_nayruslove, 1, 8, 3, 13, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
85 { ssoCURRENTITEM, pos, 128, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_faroreswind, 1, 9, 4, 14, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
86 { ssoCURRENTITEM, pos, 32, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 10, 5, 0, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
87 { ssoCURRENTITEM, pos, 56, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 6, 1, 10, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
88 { ssoCURRENTITEM, pos, 80, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 12, 7, 2, 11, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
89 { ssoCURRENTITEM, pos, 104, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 13, 8, 3, 12, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
90 { ssoCURRENTITEM, pos, 128, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 14, 9, 4, 13, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
91 { ssoLINE, pos, 177, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
92 { ssoLINE, pos, 181, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
93 { ssoLINE, pos, 185, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
94 { ssoLINE, pos, 189, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
95 { ssoLINE, pos, 193, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
96 { ssoLINE, pos, 197, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
97 { ssoLINE, pos, 201, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
98 { ssoLINE, pos, 205, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
99 { ssoLINE, pos, 209, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
100 { ssoLINE, pos, 213, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
101 { ssoLINE, pos, 217, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
102 { ssoLINE, pos, 221, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
103 { ssoLINE, pos, 225, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
104 { ssoLINE, pos, 229, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
105 { ssoLINE, pos, 233, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
106 { ssoLINE, pos, 237, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
107 { ssoBUTTONITEM, pos, 200, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
108 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
109 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
110 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
111 { ssoSELECTEDITEMNAME, pos, 173, 24, 70, 16, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfPROP, sstaCENTER, sstsSHADOWED, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
112 { ssoRECT, pos, 24, 1, 16, 6, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
113 { ssoTEXT, pos, 24, 1, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"ITEM" },
114 { ssoTEXT, pos, 17, 105, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"INVENTORY" },
115 { ssoTEXT, pos, 177, 57, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"TRIFORCE" },
116 { ssoTEXT, pos, 177, 113, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"EQUIPMENT" },
117 { ssoTRIFORCE, pos, 192, 64, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
118 { ssoTRIFORCE, pos, 208, 64, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
119 { ssoTRIFORCE, pos, 176, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
120 { ssoTRIFORCE, pos, 224, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
121 { ssoTRIFORCE, pos, 192, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 2, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
122 { ssoTRIFORCE, pos, 192, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
123 { ssoTRIFORCE, pos, 208, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 3, 1, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
124 { ssoTRIFORCE, pos, 208, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
125 { ssoTILEBLOCK, pos, 16, 8, 1, 1, 1, 0, 0, 0, 0, 0, 28201, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
126 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
127 };
128 subscreen_object z3_active_ab[82]=
129 {
130 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
131 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
132 { sso2X2FRAME, pos, 8, 0, 19, 12, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
133 { sso2X2FRAME, pos, 8, 96, 19, 9, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
134 { sso2X2FRAME, pos, 168, 0, 10, 6, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
135 { sso2X2FRAME, pos, 168, 48, 10, 7, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
136 { sso2X2FRAME, pos, 168, 104, 10, 8, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
137 { sso2X2FRAME, pos, 8, 0, 19, 12, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
138 { sso2X2FRAME, pos, 8, 96, 19, 9, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
139 { sso2X2FRAME, pos, 168, 0, 10, 6, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
140 { sso2X2FRAME, pos, 168, 48, 10, 7, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
141 { sso2X2FRAME, pos, 168, 104, 10, 8, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
142 { ssoCURRENTITEM, pos, 176, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_sword, 1, 15, 14, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
143 { ssoCURRENTITEM, pos, 200, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
144 { ssoCURRENTITEM, pos, 224, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
145 { ssoCURRENTITEM, pos, 200, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
146 { ssoCURRENTITEM, pos, 28, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
147 { ssoCURRENTITEM, pos, 52, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
148 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
149 { ssoCURRENTITEM, pos, 100, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
150 { ssoCURRENTITEM, pos, 124, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
151 { ssoCURRENTITEM, pos, 28, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
152 { ssoCURRENTITEM, pos, 52, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
153 { ssoCURRENTITEM, pos, 76, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
154 { ssoCURRENTITEM, pos, 100, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
155 { ssoCURRENTITEM, pos, 124, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_quiver, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
156 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
157 { ssoCURRENTITEM, pos, 32, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_bowandarrow, 1, 0, 10, 5, 15, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
158 { ssoCOUNTER, pos, 44, 26, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
159 { ssoCURRENTITEM, pos, 56, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 1, 11, 6, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
160 { ssoCURRENTITEM, pos, 80, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 2, 12, 7, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
161 { ssoCURRENTITEM, pos, 104, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 3, 13, 8, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
162 { ssoCOUNTER, pos, 116, 26, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
163 { ssoCURRENTITEM, pos, 128, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 4, 14, 9, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
164 { ssoCURRENTITEM, pos, 32, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 5, 0, 10, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
165 { ssoCURRENTITEM, pos, 56, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 6, 1, 11, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
166 { ssoCOUNTER, pos, 68, 50, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
167 { ssoCURRENTITEM, pos, 80, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_dinsfire, 1, 7, 2, 12, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
168 { ssoCURRENTITEM, pos, 104, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_nayruslove, 1, 8, 3, 13, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
169 { ssoCURRENTITEM, pos, 128, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_faroreswind, 1, 9, 4, 14, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
170 { ssoCURRENTITEM, pos, 32, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 10, 5, 0, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
171 { ssoCURRENTITEM, pos, 56, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 6, 1, 10, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
172 { ssoCURRENTITEM, pos, 80, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 12, 7, 2, 11, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
173 { ssoCURRENTITEM, pos, 104, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 13, 8, 3, 12, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
174 { ssoCURRENTITEM, pos, 128, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 14, 9, 4, 13, 15, 0, 0, 0, 0, 0, 0, 0, NULL },
175 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
176 { ssoLINE, pos, 177, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
177 { ssoLINE, pos, 181, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
178 { ssoLINE, pos, 185, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
179 { ssoLINE, pos, 189, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
180 { ssoLINE, pos, 193, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
181 { ssoLINE, pos, 197, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
182 { ssoLINE, pos, 201, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
183 { ssoLINE, pos, 205, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
184 { ssoLINE, pos, 209, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
185 { ssoLINE, pos, 213, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
186 { ssoLINE, pos, 217, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
187 { ssoLINE, pos, 221, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
188 { ssoLINE, pos, 225, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
189 { ssoLINE, pos, 229, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
190 { ssoLINE, pos, 233, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
191 { ssoLINE, pos, 237, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
192 { ssoBUTTONITEM, pos, 200, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
193 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
194 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
195 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
196 { ssoSELECTEDITEMNAME, pos, 173, 24, 70, 16, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfPROP, sstaCENTER, sstsSHADOWED, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
197 { ssoRECT, pos, 24, 1, 16, 6, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
198 { ssoTEXT, pos, 24, 1, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"ITEM" },
199 { ssoTILEBLOCK, pos, 16, 73, 1, 1, 1, 0, 0, 0, 0, 0, 28201, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
200 { ssoTEXT, pos, 17, 105, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"INVENTORY" },
201 { ssoTEXT, pos, 177, 57, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"TRIFORCE" },
202 { ssoTEXT, pos, 177, 113, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"EQUIPMENT" },
203 { ssoTRIFORCE, pos, 192, 64, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
204 { ssoTRIFORCE, pos, 208, 64, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
205 { ssoTRIFORCE, pos, 176, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
206 { ssoTRIFORCE, pos, 224, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
207 { ssoTRIFORCE, pos, 192, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 2, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
208 { ssoTRIFORCE, pos, 192, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
209 { ssoTRIFORCE, pos, 208, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 3, 1, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
210 { ssoTRIFORCE, pos, 208, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
211 { ssoTILEBLOCK, pos, 16, 8, 1, 1, 1, 0, 0, 0, 0, 0, 28200, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
212 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
213 };
214 subscreen_object z3_passive_a[66]=
215 {
216 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
217 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
218 { ssoMINITILE, pos, 74, 6, 0, 0, 5, 0, 0, 0, 0, 0, 101069, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
219 { ssoMINITILE, pos, 101, 6, 0, 0, 0, 0, 0, 0, 0, 0, 101369, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
220 { ssoMINITILE, pos, 126, 7, 0, 0, 1, 0, 0, 0, 0, 0, 101683, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
221 { ssoMINITILE, pos, 144, 6, 0, 0, 1, 0, 0, 0, 0, 0, 101212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
222 { ssoMAGICGAUGE, pos, 16, 8, 8, 8, 5, 5, 5, 0, 0, 0, 9, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
223 { ssoMAGICGAUGE, pos, 16, 12, 8, 8, 5, 5, 5, 0, 0, 0, 8, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
224 { ssoMAGICGAUGE, pos, 16, 16, 8, 8, 5, 5, 5, 0, 0, 0, 7, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
225 { ssoMAGICGAUGE, pos, 16, 20, 8, 8, 5, 5, 5, 0, 0, 0, 6, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
226 { ssoMAGICGAUGE, pos, 16, 24, 8, 8, 5, 5, 5, 0, 0, 0, 5, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
227 { ssoMAGICGAUGE, pos, 16, 28, 8, 8, 5, 5, 5, 0, 0, 0, 4, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
228 { ssoMAGICGAUGE, pos, 16, 32, 8, 8, 5, 5, 5, 0, 0, 0, 3, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
229 { ssoMAGICGAUGE, pos, 16, 36, 8, 8, 5, 5, 5, 0, 0, 0, 2, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
230 { ssoMAGICGAUGE, pos, 16, 40, 8, 8, 5, 5, 5, 0, 0, 0, 1, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
231 { ssoMAGICGAUGE, pos, 16, 44, 8, 8, 5, 5, 5, 5, 0, 0, 0, 100322, 100260, 100322, 100322, 1, 0, 0, 2, 0, 0, 0, 0, 0, NULL },
232 { ssoMAGICGAUGE, pos, 24, 8, 8, 8, 5, 5, 5, 0, 0, 0, 9, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
233 { ssoMAGICGAUGE, pos, 24, 12, 8, 8, 5, 5, 5, 0, 0, 0, 8, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
234 { ssoMAGICGAUGE, pos, 24, 16, 8, 8, 5, 5, 5, 0, 0, 0, 7, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
235 { ssoMAGICGAUGE, pos, 24, 20, 8, 8, 5, 5, 5, 0, 0, 0, 6, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
236 { ssoMAGICGAUGE, pos, 24, 24, 8, 8, 5, 5, 5, 0, 0, 0, 5, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
237 { ssoMAGICGAUGE, pos, 24, 28, 8, 8, 5, 5, 5, 0, 0, 0, 4, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
238 { ssoMAGICGAUGE, pos, 24, 32, 8, 8, 5, 5, 5, 0, 0, 0, 3, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
239 { ssoMAGICGAUGE, pos, 24, 36, 8, 8, 5, 5, 5, 0, 0, 0, 2, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
240 { ssoMAGICGAUGE, pos, 24, 40, 8, 8, 5, 5, 5, 0, 0, 0, 1, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
241 { ssoMAGICGAUGE, pos, 24, 44, 8, 8, 5, 5, 5, 0, 0, 0, 0, 100323, 100260, 100262, 100263, 1, 0, 0, 2, 0, 0, 0, 0, 0, NULL },
242 { ssoMAGICGAUGE, pos, 16, 44, 8, 8, 5, 5, 5, 5, 0, 0, 0, 100402, 100260, 100322, 100322, 1, 0, 0, 1, 0, 0, 0, 0, 0, NULL },
243 { ssoMAGICGAUGE, pos, 24, 44, 8, 8, 5, 5, 5, 0, 0, 0, 0, 100403, 100260, 100262, 100263, 1, 0, 0, 1, 0, 0, 0, 0, 0, NULL },
244 { sso2X2FRAME, pos, 32, 4, 4, 4, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
245 { ssoBUTTONITEM, pos, 40, 12, 16, 16, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
246 { ssoCOUNTER, pos, 52, 22, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
247 { ssoCOUNTER, pos, 52, 22, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
248 { ssoCOUNTER, pos, 52, 22, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
249 { ssoTEXT, pos, 200, 6, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"LIFE" },
250 { ssoRECT, pos, 178, 8, 12, 2, 0, 15, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
251 { ssoLINE, pos, 179, 8, 10, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
252 { ssoRECT, pos, 210, 8, 12, 2, 0, 15, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
253 { ssoLINE, pos, 211, 8, 10, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
254 { ssoLIFEGAUGE, pos, 169, 15, 8, 8, 1, 1, 1, 1, 0, 0, 1, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
255 { ssoLIFEGAUGE, pos, 177, 15, 8, 8, 1, 1, 1, 1, 0, 0, 2, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
256 { ssoLIFEGAUGE, pos, 185, 15, 8, 8, 1, 1, 1, 1, 0, 0, 3, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
257 { ssoLIFEGAUGE, pos, 193, 15, 8, 8, 1, 1, 1, 1, 0, 0, 4, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
258 { ssoLIFEGAUGE, pos, 201, 15, 8, 8, 1, 1, 1, 1, 0, 0, 5, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
259 { ssoLIFEGAUGE, pos, 209, 15, 8, 8, 1, 1, 1, 1, 0, 0, 6, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
260 { ssoLIFEGAUGE, pos, 217, 15, 8, 8, 1, 1, 1, 1, 0, 0, 7, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
261 { ssoLIFEGAUGE, pos, 225, 15, 8, 8, 1, 1, 1, 1, 0, 0, 8, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
262 { ssoLIFEGAUGE, pos, 169, 23, 8, 8, 1, 1, 1, 1, 0, 0, 9, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
263 { ssoLIFEGAUGE, pos, 177, 23, 8, 8, 1, 1, 1, 1, 0, 0, 10, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
264 { ssoLIFEGAUGE, pos, 185, 23, 8, 8, 1, 1, 1, 1, 0, 0, 11, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
265 { ssoLIFEGAUGE, pos, 193, 23, 8, 8, 1, 1, 1, 1, 0, 0, 12, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
266 { ssoLIFEGAUGE, pos, 201, 23, 8, 8, 1, 1, 1, 1, 0, 0, 13, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
267 { ssoLIFEGAUGE, pos, 209, 23, 8, 8, 1, 1, 1, 1, 0, 0, 14, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
268 { ssoLIFEGAUGE, pos, 217, 23, 8, 8, 1, 1, 1, 1, 0, 0, 15, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
269 { ssoLIFEGAUGE, pos, 225, 23, 8, 8, 1, 1, 1, 1, 0, 0, 16, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
270 { ssoLIFEGAUGE, pos, 169, 31, 8, 8, 1, 1, 1, 1, 0, 0, 17, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
271 { ssoLIFEGAUGE, pos, 177, 31, 8, 8, 1, 1, 1, 1, 0, 0, 18, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
272 { ssoLIFEGAUGE, pos, 185, 31, 8, 8, 1, 1, 1, 1, 0, 0, 19, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
273 { ssoLIFEGAUGE, pos, 193, 31, 8, 8, 1, 1, 1, 1, 0, 0, 20, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
274 { ssoLIFEGAUGE, pos, 201, 31, 8, 8, 1, 1, 1, 1, 0, 0, 21, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
275 { ssoLIFEGAUGE, pos, 209, 31, 8, 8, 1, 1, 1, 1, 0, 0, 22, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
276 { ssoLIFEGAUGE, pos, 217, 31, 8, 8, 1, 1, 1, 1, 0, 0, 23, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
277 { ssoLIFEGAUGE, pos, 225, 31, 8, 8, 1, 1, 1, 1, 0, 0, 24, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
278 { ssoCOUNTER, pos, 77, 15, 25, 9, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 3, '~', 1, sscRUPEES, 0, 0, 0, 0, 0, 0, 0, NULL },
279 { ssoCOUNTER, pos, 105, 15, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 2, '~', 1, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
280 { ssoCOUNTER, pos, 129, 15, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 2, '~', 1, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
281 { ssoCOUNTER, pos, 148, 15, 9, 9, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 1, '~', 1, sscGENKEYMAGIC, 0, 0, 0, 0, 0, 0, 0, NULL },
282 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
283 };
284 subscreen_object z3_passive_ab[75]=
285 {
286 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
287 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
288 { ssoMINITILE, pos, 80, 6, 0, 0, 5, 0, 0, 0, 0, 0, 101069, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
289 { ssoMINITILE, pos, 107, 6, 0, 0, 0, 0, 0, 0, 0, 0, 101369, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
290 { ssoMINITILE, pos, 132, 7, 0, 0, 1, 0, 0, 0, 0, 0, 101683, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
291 { ssoMINITILE, pos, 150, 6, 0, 0, 1, 0, 0, 0, 0, 0, 101212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
292 { ssoMAGICGAUGE, pos, 16, 8, 8, 8, 5, 5, 5, 0, 0, 0, 9, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
293 { ssoMAGICGAUGE, pos, 16, 12, 8, 8, 5, 5, 5, 0, 0, 0, 8, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
294 { ssoMAGICGAUGE, pos, 16, 16, 8, 8, 5, 5, 5, 0, 0, 0, 7, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
295 { ssoMAGICGAUGE, pos, 16, 20, 8, 8, 5, 5, 5, 0, 0, 0, 6, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
296 { ssoMAGICGAUGE, pos, 16, 24, 8, 8, 5, 5, 5, 0, 0, 0, 5, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
297 { ssoMAGICGAUGE, pos, 16, 28, 8, 8, 5, 5, 5, 0, 0, 0, 4, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
298 { ssoMAGICGAUGE, pos, 16, 32, 8, 8, 5, 5, 5, 0, 0, 0, 3, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
299 { ssoMAGICGAUGE, pos, 16, 36, 8, 8, 5, 5, 5, 0, 0, 0, 2, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
300 { ssoMAGICGAUGE, pos, 16, 40, 8, 8, 5, 5, 5, 0, 0, 0, 1, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
301 { ssoMAGICGAUGE, pos, 16, 44, 8, 8, 5, 5, 5, 5, 0, 0, 0, 100322, 100260, 100322, 100322, 1, 0, 0, 2, 0, 0, 0, 0, 0, NULL },
302 { ssoMAGICGAUGE, pos, 24, 8, 8, 8, 5, 5, 5, 0, 0, 0, 9, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
303 { ssoMAGICGAUGE, pos, 24, 12, 8, 8, 5, 5, 5, 0, 0, 0, 8, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
304 { ssoMAGICGAUGE, pos, 24, 16, 8, 8, 5, 5, 5, 0, 0, 0, 7, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
305 { ssoMAGICGAUGE, pos, 24, 20, 8, 8, 5, 5, 5, 0, 0, 0, 6, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
306 { ssoMAGICGAUGE, pos, 24, 24, 8, 8, 5, 5, 5, 0, 0, 0, 5, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
307 { ssoMAGICGAUGE, pos, 24, 28, 8, 8, 5, 5, 5, 0, 0, 0, 4, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
308 { ssoMAGICGAUGE, pos, 24, 32, 8, 8, 5, 5, 5, 0, 0, 0, 3, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
309 { ssoMAGICGAUGE, pos, 24, 36, 8, 8, 5, 5, 5, 0, 0, 0, 2, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
310 { ssoMAGICGAUGE, pos, 24, 40, 8, 8, 5, 5, 5, 0, 0, 0, 1, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
311 { ssoMAGICGAUGE, pos, 24, 44, 8, 8, 5, 5, 5, 0, 0, 0, 0, 100323, 100260, 100262, 100263, 1, 0, 0, 2, 0, 0, 0, 0, 0, NULL },
312 { ssoMAGICGAUGE, pos, 16, 44, 8, 8, 5, 5, 5, 5, 0, 0, 0, 100402, 100260, 100322, 100322, 1, 0, 0, 1, 0, 0, 0, 0, 0, NULL },
313 { ssoMAGICGAUGE, pos, 24, 44, 8, 8, 5, 5, 5, 0, 0, 0, 0, 100403, 100260, 100262, 100263, 1, 0, 0, 1, 0, 0, 0, 0, 0, NULL },
314 { sso2X2FRAME, pos, 32, 26, 4, 4, 8, 0, 0, 0, 0, 0, 20040, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
315 { sso2X2FRAME, pos, 32, 0, 4, 4, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
316 { ssoBUTTONITEM, pos, 40, 8, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
317 { ssoCOUNTER, pos, 52, 18, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
318 { ssoCOUNTER, pos, 52, 18, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
319 { ssoCOUNTER, pos, 52, 18, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
320 { ssoBUTTONITEM, pos, 40, 34, 16, 16, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
321 { ssoCOUNTER, pos, 52, 44, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
322 { ssoCOUNTER, pos, 52, 44, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
323 { ssoCOUNTER, pos, 52, 44, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
324 { ssoTEXT, pos, 200, 6, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"LIFE" },
325 { ssoRECT, pos, 178, 8, 12, 2, 0, 15, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
326 { ssoLINE, pos, 179, 8, 10, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
327 { ssoRECT, pos, 210, 8, 12, 2, 0, 15, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
328 { ssoLINE, pos, 211, 8, 10, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
329 { ssoLIFEGAUGE, pos, 169, 15, 8, 8, 1, 1, 1, 1, 0, 0, 1, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
330 { ssoLIFEGAUGE, pos, 177, 15, 8, 8, 1, 1, 1, 1, 0, 0, 2, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
331 { ssoLIFEGAUGE, pos, 185, 15, 8, 8, 1, 1, 1, 1, 0, 0, 3, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
332 { ssoLIFEGAUGE, pos, 193, 15, 8, 8, 1, 1, 1, 1, 0, 0, 4, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
333 { ssoLIFEGAUGE, pos, 201, 15, 8, 8, 1, 1, 1, 1, 0, 0, 5, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
334 { ssoLIFEGAUGE, pos, 209, 15, 8, 8, 1, 1, 1, 1, 0, 0, 6, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
335 { ssoLIFEGAUGE, pos, 217, 15, 8, 8, 1, 1, 1, 1, 0, 0, 7, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
336 { ssoLIFEGAUGE, pos, 225, 15, 8, 8, 1, 1, 1, 1, 0, 0, 8, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
337 { ssoLIFEGAUGE, pos, 169, 23, 8, 8, 1, 1, 1, 1, 0, 0, 9, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
338 { ssoLIFEGAUGE, pos, 177, 23, 8, 8, 1, 1, 1, 1, 0, 0, 10, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
339 { ssoLIFEGAUGE, pos, 185, 23, 8, 8, 1, 1, 1, 1, 0, 0, 11, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
340 { ssoLIFEGAUGE, pos, 193, 23, 8, 8, 1, 1, 1, 1, 0, 0, 12, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
341 { ssoLIFEGAUGE, pos, 201, 23, 8, 8, 1, 1, 1, 1, 0, 0, 13, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
342 { ssoLIFEGAUGE, pos, 209, 23, 8, 8, 1, 1, 1, 1, 0, 0, 14, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
343 { ssoLIFEGAUGE, pos, 217, 23, 8, 8, 1, 1, 1, 1, 0, 0, 15, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
344 { ssoLIFEGAUGE, pos, 225, 23, 8, 8, 1, 1, 1, 1, 0, 0, 16, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
345 { ssoLIFEGAUGE, pos, 169, 31, 8, 8, 1, 1, 1, 1, 0, 0, 17, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
346 { ssoLIFEGAUGE, pos, 177, 31, 8, 8, 1, 1, 1, 1, 0, 0, 18, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
347 { ssoLIFEGAUGE, pos, 185, 31, 8, 8, 1, 1, 1, 1, 0, 0, 19, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
348 { ssoLIFEGAUGE, pos, 193, 31, 8, 8, 1, 1, 1, 1, 0, 0, 20, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
349 { ssoLIFEGAUGE, pos, 201, 31, 8, 8, 1, 1, 1, 1, 0, 0, 21, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
350 { ssoLIFEGAUGE, pos, 209, 31, 8, 8, 1, 1, 1, 1, 0, 0, 22, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
351 { ssoLIFEGAUGE, pos, 217, 31, 8, 8, 1, 1, 1, 1, 0, 0, 23, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
352 { ssoLIFEGAUGE, pos, 225, 31, 8, 8, 1, 1, 1, 1, 0, 0, 24, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
353 { ssoCOUNTER, pos, 83, 15, 25, 9, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 3, '~', 1, sscRUPEES, 0, 0, 0, 0, 0, 0, 0, NULL },
354 { ssoCOUNTER, pos, 111, 15, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 2, '~', 1, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
355 { ssoCOUNTER, pos, 135, 15, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 2, '~', 1, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
356 { ssoCOUNTER, pos, 154, 15, 9, 9, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 1, '~', 1, sscGENKEYMAGIC, 0, 0, 0, 0, 0, 0, 0, NULL },
357 { ssoRECT, pos, 59, 11, 4, 10, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
358 { ssoRECT, pos, 59, 37, 4, 10, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
359 { ssoTEXT, pos, 61, 13, 8, 8, 0, 1, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"A" },
360 { ssoTEXT, pos, 61, 38, 8, 8, 0, 1, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"B" },
361 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
362 };
363
364 subscreen_object default_subscreen_active[ssdtMAX][2][66]=//[zinit.subscreen][dungeon]
365 {
366 {
367 //ssdtOLD
368 {
369 //ssdtOLD, overworld
370 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
371 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
372 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
373 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
374 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
375 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
376 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
377 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
378 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
379 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
380 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
381 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
382 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
383 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
384 { ssoTEXT, pos, 68, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
385 { sso2X2FRAME, pos, 56, 34, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
386 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
387 { ssoTEXT, pos, 64, 66, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "USE B BUTTON" },
388 { ssoTEXT, pos, 64, 74, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "FOR THIS" },
389 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
390 { ssoTEXT, pos, 128, 154, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
391 { ssoTRIFRAME, pos, 80, 98, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
392 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
393 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
394 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
395 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
396 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
397 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
398 { sso2X2FRAME, pos, 120, 34, 13, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
399 { ssoBUTTONITEM, notscrolling, 64, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
400 { ssoCURRENTITEM, notscrolling, 128, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
401 { ssoCURRENTITEM, notscrolling, 148, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
402 { ssoCURRENTITEM, notscrolling, 160, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
403 { ssoCURRENTITEM, notscrolling, 176, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
404 { ssoCURRENTITEM, notscrolling, 192, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
405 { ssoCURRENTITEM, notscrolling, 204, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
406 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
407 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
408 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
409 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
410 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
411 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
412 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
413 { ssoCURRENTITEM, notscrolling, 172, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
414 { ssoCURRENTITEM, notscrolling, 180, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
415 { ssoCURRENTITEM, notscrolling, 128, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
416 { ssoCURRENTITEM, notscrolling, 152, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
417 { ssoCURRENTITEM, notscrolling, 176, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
418 { ssoCURRENTITEM, notscrolling, 200, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
419 { ssoCURRENTITEM, notscrolling, 128, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
420 { ssoCURRENTITEM, notscrolling, 152, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
421 { ssoCURRENTITEM, notscrolling, 176, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
422 { ssoCURRENTITEM, notscrolling, 200, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
423 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
424 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
425 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
426 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
427 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
428 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
429 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
430 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
431 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
432 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
433 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
434 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
435 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
436 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
437 },
438 {
439 //ssdtOLD, dungeon
440 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
441 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
442 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
443 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
444 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
445 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
446 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
447 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
448 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
449 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
450 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
451 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
452 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
453 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
454 { ssoTEXT, pos, 68, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
455 { sso2X2FRAME, pos, 56, 34, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
456 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
457 { ssoTEXT, pos, 64, 66, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "USE B BUTTON" },
458 { ssoTEXT, pos, 64, 74, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "FOR THIS" },
459 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
460 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
461 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
462 { ssoLARGEMAP, pos, 96, 82, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL },
463 { ssoTEXT, pos, 52, 90, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "MAP" },
464 { ssoTEXT, pos, 52, 130, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "COMPASS" },
465 { ssoCURRENTITEM, notscrolling, 44, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
466 { ssoCURRENTITEM, notscrolling, 44, 146, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
467 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
468 { sso2X2FRAME, pos, 120, 34, 13, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
469 { ssoBUTTONITEM, notscrolling, 64, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
470 { ssoCURRENTITEM, notscrolling, 128, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
471 { ssoCURRENTITEM, notscrolling, 148, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
472 { ssoCURRENTITEM, notscrolling, 160, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
473 { ssoCURRENTITEM, notscrolling, 176, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
474 { ssoCURRENTITEM, notscrolling, 192, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
475 { ssoCURRENTITEM, notscrolling, 204, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
476 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
477 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
478 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
479 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
480 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
481 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
482 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
483 { ssoCURRENTITEM, notscrolling, 172, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
484 { ssoCURRENTITEM, notscrolling, 180, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
485 { ssoCURRENTITEM, notscrolling, 128, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
486 { ssoCURRENTITEM, notscrolling, 152, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
487 { ssoCURRENTITEM, notscrolling, 176, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
488 { ssoCURRENTITEM, notscrolling, 200, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
489 { ssoCURRENTITEM, notscrolling, 128, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
490 { ssoCURRENTITEM, notscrolling, 152, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
491 { ssoCURRENTITEM, notscrolling, 176, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
492 { ssoCURRENTITEM, notscrolling, 200, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
493 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
494 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
495 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
496 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
497 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
498 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
499 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
500 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
501 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
502 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
503 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
504 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
505 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
506 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
507 }
508 },
509 {
510 //ssdtNEWSUBSCR
511 {
512 //ssdtNEWSUBSCR, overworld
513 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
514 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
515 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
516 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
517 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
518 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
519 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
520 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
521 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
522 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
523 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
524 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
525 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
526 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
527 { ssoTEXT, pos, 68, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
528 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
529 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
530 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
531 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
532 { sso2X2FRAME, pos, 12, 34, 14, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
533 { ssoTEXT, pos, 128, 154, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
534 { ssoTRIFRAME, pos, 80, 98, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
535 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
536 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
537 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
538 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
539 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
540 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
541 { sso2X2FRAME, pos, 136, 18, 13, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
542 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
543 { ssoCURRENTITEM, pos, 20, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
544 { ssoCURRENTITEM, pos, 36, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
545 { ssoCURRENTITEM, pos, 52, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
546 { ssoCURRENTITEM, pos, 68, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
547 { ssoCURRENTITEM, pos, 84, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
548 { ssoCURRENTITEM, pos, 100, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
549 { ssoCURRENTITEM, pos, 20, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
550 { ssoCURRENTITEM, pos, 36, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
551 { ssoCURRENTITEM, pos, 52, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
552 { ssoCURRENTITEM, pos, 68, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
553 { ssoCURRENTITEM, pos, 84, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
554 { ssoCURRENTITEM, pos, 100, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
555 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
556 { ssoCURRENTITEM, pos, 188, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
557 { ssoCURRENTITEM, pos, 196, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
558 { ssoCURRENTITEM, pos, 144, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 11, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
559 { ssoCURRENTITEM, pos, 168, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
560 { ssoCURRENTITEM, pos, 192, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
561 { ssoCURRENTITEM, pos, 216, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
562 { ssoCURRENTITEM, pos, 144, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
563 { ssoCURRENTITEM, pos, 168, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
564 { ssoCURRENTITEM, pos, 192, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
565 { ssoCURRENTITEM, pos, 216, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
566 { ssoCURRENTITEM, pos, 144, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
567 { ssoCURRENTITEM, pos, 168, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
568 { ssoCURRENTITEM, pos, 192, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
569 { ssoCURRENTITEM, pos, 216, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
570 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
571 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
572 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
573 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
574 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
575 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
576 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
577 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
578 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
579 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
580 },
581 {
582 //ssdtNEWSUBSCR, dungeon
583 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
584 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
585 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
586 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
587 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
588 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
589 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
590 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
591 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
592 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
593 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
594 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
595 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
596 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
597 { ssoTEXT, pos, 68, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
598 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
599 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
600 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
601 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
602 { sso2X2FRAME, pos, 12, 34, 14, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
603 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
604 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
605 { ssoLARGEMAP, pos, 96, 82, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL },
606 { ssoTEXT, pos, 52, 90, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "MAP" },
607 { ssoTEXT, pos, 52, 130, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "COMPASS" },
608 { ssoCURRENTITEM, pos, 44, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
609 { ssoCURRENTITEM, pos, 44, 146, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
610 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
611 { sso2X2FRAME, pos, 136, 18, 13, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
612 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
613 { ssoCURRENTITEM, pos, 20, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
614 { ssoCURRENTITEM, pos, 36, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
615 { ssoCURRENTITEM, pos, 52, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
616 { ssoCURRENTITEM, pos, 68, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
617 { ssoCURRENTITEM, pos, 84, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
618 { ssoCURRENTITEM, pos, 100, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
619 { ssoCURRENTITEM, pos, 20, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
620 { ssoCURRENTITEM, pos, 36, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
621 { ssoCURRENTITEM, pos, 52, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
622 { ssoCURRENTITEM, pos, 68, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
623 { ssoCURRENTITEM, pos, 84, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
624 { ssoCURRENTITEM, pos, 100, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
625 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
626 { ssoCURRENTITEM, pos, 188, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
627 { ssoCURRENTITEM, pos, 196, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
628 { ssoCURRENTITEM, pos, 144, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 11, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
629 { ssoCURRENTITEM, pos, 168, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
630 { ssoCURRENTITEM, pos, 192, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
631 { ssoCURRENTITEM, pos, 216, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
632 { ssoCURRENTITEM, pos, 144, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
633 { ssoCURRENTITEM, pos, 168, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
634 { ssoCURRENTITEM, pos, 192, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
635 { ssoCURRENTITEM, pos, 216, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
636 { ssoCURRENTITEM, pos, 144, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
637 { ssoCURRENTITEM, pos, 168, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
638 { ssoCURRENTITEM, pos, 192, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
639 { ssoCURRENTITEM, pos, 216, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
640 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
641 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
642 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
643 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
644 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
645 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
646 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
647 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
648 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
649 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
650 }
651 },
652 {
653 //ssdtREV2
654 {
655 //ssdtREV2, overworld
656 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
657 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
658 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
659 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
660 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
661 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
662 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
663 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
664 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
665 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
666 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
667 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
668 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
669 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
670 { ssoTEXT, pos, 62, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
671 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
672 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
673 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
674 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
675 { sso2X2FRAME, pos, 6, 34, 14, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
676 { ssoTEXT, pos, 128, 154, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
677 { ssoTRIFRAME, pos, 80, 98, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
678 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
679 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
680 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
681 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
682 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
683 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
684 { sso2X2FRAME, pos, 118, 18, 16, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
685 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
686 { ssoCURRENTITEM, pos, 14, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
687 { ssoCURRENTITEM, pos, 30, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
688 { ssoCURRENTITEM, pos, 46, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
689 { ssoCURRENTITEM, pos, 62, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
690 { ssoCURRENTITEM, pos, 78, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
691 { ssoCURRENTITEM, pos, 94, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
692 { ssoCURRENTITEM, pos, 14, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
693 { ssoCURRENTITEM, pos, 30, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
694 { ssoCURRENTITEM, pos, 46, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
695 { ssoCURRENTITEM, pos, 62, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
696 { ssoCURRENTITEM, pos, 78, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
697 { ssoCURRENTITEM, pos, 94, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
698 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
699 { ssoCURRENTITEM, pos, 170, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
700 { ssoCURRENTITEM, pos, 178, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
701 { ssoCURRENTITEM, pos, 126, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
702 { ssoCURRENTITEM, pos, 150, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
703 { ssoCURRENTITEM, pos, 174, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
704 { ssoCURRENTITEM, pos, 198, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
705 { ssoCURRENTITEM, pos, 222, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_dinsfire, 1, 12, 14, 13, 3, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
706 { ssoCURRENTITEM, pos, 126, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 12, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
707 { ssoCURRENTITEM, pos, 150, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
708 { ssoCURRENTITEM, pos, 174, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
709 { ssoCURRENTITEM, pos, 198, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
710 { ssoCURRENTITEM, pos, 222, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_faroreswind, 1, 13, 12, 14, 7, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
711 { ssoCURRENTITEM, pos, 126, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 13, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
712 { ssoCURRENTITEM, pos, 150, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
713 { ssoCURRENTITEM, pos, 174, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
714 { ssoCURRENTITEM, pos, 198, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
715 { ssoCURRENTITEM, pos, 222, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_nayruslove, 1, 14, 13, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
716 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
717 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
718 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
719 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
720 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
721 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
722 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
723 },
724 {
725 //ssdtREV2, dungeon
726 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
727 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
728 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
729 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
730 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
731 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
732 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
733 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
734 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
735 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
736 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
737 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
738 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
739 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
740 { ssoTEXT, pos, 62, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
741 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
742 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
743 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
744 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
745 { sso2X2FRAME, pos, 6, 34, 14, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
746 { sso2X2FRAME, pos, 16, 98, 9, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
747 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
748 { ssoLARGEMAP, pos, 96, 82, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL },
749 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
750 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
751 { ssoCURRENTITEM, pos, 24, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
752 { ssoCURRENTITEM, pos, 44, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
753 { ssoCURRENTITEM, pos, 64, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_bosskey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
754 { sso2X2FRAME, pos, 118, 18, 16, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
755 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
756 { ssoCURRENTITEM, pos, 14, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
757 { ssoCURRENTITEM, pos, 30, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
758 { ssoCURRENTITEM, pos, 46, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
759 { ssoCURRENTITEM, pos, 62, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
760 { ssoCURRENTITEM, pos, 78, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
761 { ssoCURRENTITEM, pos, 94, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
762 { ssoCURRENTITEM, pos, 14, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
763 { ssoCURRENTITEM, pos, 30, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
764 { ssoCURRENTITEM, pos, 46, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
765 { ssoCURRENTITEM, pos, 62, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
766 { ssoCURRENTITEM, pos, 78, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
767 { ssoCURRENTITEM, pos, 94, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
768 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
769 { ssoCURRENTITEM, pos, 170, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
770 { ssoCURRENTITEM, pos, 178, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
771 { ssoCURRENTITEM, pos, 126, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
772 { ssoCURRENTITEM, pos, 150, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
773 { ssoCURRENTITEM, pos, 174, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
774 { ssoCURRENTITEM, pos, 198, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
775 { ssoCURRENTITEM, pos, 222, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_dinsfire, 1, 12, 14, 13, 3, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
776 { ssoCURRENTITEM, pos, 126, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 12, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
777 { ssoCURRENTITEM, pos, 150, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
778 { ssoCURRENTITEM, pos, 174, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
779 { ssoCURRENTITEM, pos, 198, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
780 { ssoCURRENTITEM, pos, 222, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_faroreswind, 1, 13, 12, 14, 7, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
781 { ssoCURRENTITEM, pos, 126, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 13, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
782 { ssoCURRENTITEM, pos, 150, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
783 { ssoCURRENTITEM, pos, 174, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
784 { ssoCURRENTITEM, pos, 198, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
785 { ssoCURRENTITEM, pos, 222, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_nayruslove, 1, 14, 13, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
786 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
787 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
788 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
789 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
790 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
791 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
792 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
793 }
794 },
795 {
796 //ssdtBSZELDA
797 {
798 //ssdtBSZELDA, overworld
799 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
800 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
801 { ssoMINITILE, pos, 0, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
802 { ssoMINITILE, pos, 8, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
803 { ssoMINITILE, pos, 88, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
804 { ssoMINITILE, pos, 96, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
805 { ssoMINITILE, pos, 104, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
806 { ssoMINITILE, pos, 112, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
807 { ssoMINITILE, pos, 120, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
808 { ssoMINITILE, pos, 128, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
809 { ssoMINITILE, pos, 136, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
810 { ssoMINITILE, pos, 144, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
811 { ssoMINITILE, pos, 152, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
812 { ssoMINITILE, pos, 248, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
813 { ssoTEXT, pos, 51, 24, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
814 { sso2X2FRAME, pos, 28, 80, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
815 { ssoTEXT, pos, 40, 80, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
816 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
817 { ssoTEXT, pos, 56, 96, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
818 { sso2X2FRAME, pos, 20, 40, 13, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
819 { ssoTEXT, pos, 136, 48, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
820 { ssoTRIFRAME, pos, 136, 56, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
821 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
822 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
823 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
824 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
825 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
826 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
827 { sso2X2FRAME, pos, 20, 112, 14, 7, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
828 { ssoBUTTONITEM, pos, 32, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
829 { ssoCURRENTITEM, pos, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
830 { ssoCURRENTITEM, pos, 96, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
831 { ssoCURRENTITEM, pos, 80, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
832 { ssoCURRENTITEM, pos, 32, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
833 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
834 { ssoCURRENTITEM, pos, 64, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
835 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
836 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
837 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
838 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
839 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
840 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
841 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
842 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
843 { ssoCURRENTITEM, pos, 84, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
844 { ssoCURRENTITEM, pos, 32, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
845 { ssoCURRENTITEM, pos, 56, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
846 { ssoCURRENTITEM, pos, 80, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
847 { ssoCURRENTITEM, pos, 104, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
848 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
849 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
850 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
851 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
852 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
853 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
854 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
855 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
856 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
857 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
858 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
859 { ssoBSTIME, sspDOWN, 208, 25, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
860 { ssoRECT, sspDOWN, 160, 25, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
861 { ssoLINE, sspDOWN, 204, 25, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
862 { ssoLINE, sspDOWN, 160, 32, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
863 { ssoTEXT, sspDOWN, 161, 26, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
864 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
865 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
866 },
867 {
868 //ssdtBSZELDA, dungeon
869 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
870 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
871 { ssoMINITILE, pos, 0, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
872 { ssoMINITILE, pos, 8, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
873 { ssoMINITILE, pos, 88, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
874 { ssoMINITILE, pos, 96, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
875 { ssoMINITILE, pos, 104, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
876 { ssoMINITILE, pos, 112, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
877 { ssoMINITILE, pos, 120, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
878 { ssoMINITILE, pos, 128, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
879 { ssoMINITILE, pos, 136, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
880 { ssoMINITILE, pos, 144, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
881 { ssoMINITILE, pos, 152, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
882 { ssoMINITILE, pos, 248, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
883 { ssoTEXT, pos, 51, 24, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
884 { sso2X2FRAME, pos, 28, 80, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
885 { ssoTEXT, pos, 40, 80, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
886 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
887 { ssoTEXT, pos, 56, 96, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
888 { sso2X2FRAME, pos, 20, 40, 13, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
889 { sso2X2FRAME, pos, 160, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
890 { sso2X2FRAME, pos, 192, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
891 { ssoLARGEMAP, pos, 144, 88, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
892 { ssoTEXT, pos, 176, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Compass" },
893 { ssoTEXT, pos, 208, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Map" },
894 { ssoCURRENTITEM, pos, 200, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
895 { ssoCURRENTITEM, pos, 168, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
896 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
897 { sso2X2FRAME, pos, 20, 112, 14, 7, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
898 { ssoBUTTONITEM, pos, 32, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
899 { ssoCURRENTITEM, pos, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
900 { ssoCURRENTITEM, pos, 96, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
901 { ssoCURRENTITEM, pos, 80, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
902 { ssoCURRENTITEM, pos, 32, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
903 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
904 { ssoCURRENTITEM, pos, 64, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
905 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
906 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
907 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
908 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
909 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
910 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
911 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
912 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
913 { ssoCURRENTITEM, pos, 84, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
914 { ssoCURRENTITEM, pos, 32, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
915 { ssoCURRENTITEM, pos, 56, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
916 { ssoCURRENTITEM, pos, 80, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
917 { ssoCURRENTITEM, pos, 104, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
918 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
919 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
920 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
921 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
922 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
923 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
924 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
925 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
926 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
927 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
928 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
929 { ssoBSTIME, sspDOWN, 208, 25, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
930 { ssoRECT, sspDOWN, 160, 25, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
931 { ssoLINE, sspDOWN, 204, 25, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
932 { ssoLINE, sspDOWN, 160, 32, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
933 { ssoTEXT, sspDOWN, 161, 26, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
934 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
935 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
936 }
937 },
938 {
939 //ssdtBSZELDAMODIFIED
940 {
941 //ssdtBSZELDAMODIFIED, overworld
942 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
943 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
944 { ssoMINITILE, pos, 0, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
945 { ssoMINITILE, pos, 8, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
946 { ssoMINITILE, pos, 88, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
947 { ssoMINITILE, pos, 96, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
948 { ssoMINITILE, pos, 104, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
949 { ssoMINITILE, pos, 112, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
950 { ssoMINITILE, pos, 120, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
951 { ssoMINITILE, pos, 128, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
952 { ssoMINITILE, pos, 136, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
953 { ssoMINITILE, pos, 144, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
954 { ssoMINITILE, pos, 152, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
955 { ssoMINITILE, pos, 248, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
956 { ssoTEXT, pos, 51, 24, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
957 { sso2X2FRAME, pos, 28, 80, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
958 { ssoTEXT, pos, 40, 80, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
959 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
960 { ssoTEXT, pos, 56, 96, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
961 { sso2X2FRAME, pos, 12, 40, 15, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
962 { ssoTEXT, pos, 136, 48, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
963 { ssoTRIFRAME, pos, 136, 56, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
964 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
965 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
966 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
967 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
968 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
969 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
970 { sso2X2FRAME, pos, 20, 112, 14, 7, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
971 { ssoBUTTONITEM, pos, 32, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
972 { ssoCURRENTITEM, pos, 40, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
973 { ssoCURRENTITEM, pos, 88, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
974 { ssoCURRENTITEM, pos, 72, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
975 { ssoCURRENTITEM, pos, 24, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
976 { ssoCURRENTITEM, pos, 104, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
977 { ssoCURRENTITEM, pos, 56, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
978 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
979 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
980 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
981 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
982 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
983 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
984 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
985 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
986 { ssoCURRENTITEM, pos, 84, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
987 { ssoCURRENTITEM, pos, 32, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
988 { ssoCURRENTITEM, pos, 56, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
989 { ssoCURRENTITEM, pos, 80, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
990 { ssoCURRENTITEM, pos, 104, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
991 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
992 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
993 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
994 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
995 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
996 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
997 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
998 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
999 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1000 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1001 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1002 { ssoBSTIME, sspDOWN, 208, 25, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1003 { ssoRECT, sspDOWN, 160, 25, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1004 { ssoLINE, sspDOWN, 204, 25, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1005 { ssoLINE, sspDOWN, 160, 32, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1006 { ssoTEXT, sspDOWN, 161, 26, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1007 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1008 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1009 },
1010 {
1011 //ssdtBSZELDAMODIFIED, dungeon
1012 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1013 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1014 { ssoMINITILE, pos, 0, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1015 { ssoMINITILE, pos, 8, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1016 { ssoMINITILE, pos, 88, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1017 { ssoMINITILE, pos, 96, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1018 { ssoMINITILE, pos, 104, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1019 { ssoMINITILE, pos, 112, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1020 { ssoMINITILE, pos, 120, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1021 { ssoMINITILE, pos, 128, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1022 { ssoMINITILE, pos, 136, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1023 { ssoMINITILE, pos, 144, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1024 { ssoMINITILE, pos, 152, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1025 { ssoMINITILE, pos, 248, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1026 { ssoTEXT, pos, 51, 24, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1027 { sso2X2FRAME, pos, 28, 80, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1028 { ssoTEXT, pos, 40, 80, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1029 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1030 { ssoTEXT, pos, 56, 96, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1031 { sso2X2FRAME, pos, 12, 40, 15, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1032 { sso2X2FRAME, pos, 160, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1033 { sso2X2FRAME, pos, 192, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1034 { ssoLARGEMAP, pos, 144, 88, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1035 { ssoTEXT, pos, 176, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Compass" },
1036 { ssoTEXT, pos, 208, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Map" },
1037 { ssoCURRENTITEM, pos, 200, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1038 { ssoCURRENTITEM, pos, 168, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1039 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1040 { sso2X2FRAME, pos, 20, 112, 14, 7, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1041 { ssoBUTTONITEM, pos, 32, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1042 { ssoCURRENTITEM, pos, 40, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1043 { ssoCURRENTITEM, pos, 88, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1044 { ssoCURRENTITEM, pos, 72, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1045 { ssoCURRENTITEM, pos, 24, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1046 { ssoCURRENTITEM, pos, 104, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1047 { ssoCURRENTITEM, pos, 56, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1048 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1049 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1050 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1051 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1052 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1053 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1054 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1055 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1056 { ssoCURRENTITEM, pos, 84, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1057 { ssoCURRENTITEM, pos, 32, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1058 { ssoCURRENTITEM, pos, 56, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1059 { ssoCURRENTITEM, pos, 80, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1060 { ssoCURRENTITEM, pos, 104, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1061 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1062 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1063 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1064 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1065 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1066 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1067 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1068 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1069 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1070 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1071 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1072 { ssoBSTIME, sspDOWN, 208, 25, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1073 { ssoRECT, sspDOWN, 160, 25, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1074 { ssoLINE, sspDOWN, 204, 25, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1075 { ssoLINE, sspDOWN, 160, 32, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1076 { ssoTEXT, sspDOWN, 161, 26, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1077 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1078 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1079 }
1080 },
1081 {
1082 //ssdtBSZELDAENHANCED
1083 {
1084 //ssdtBSZELDAENHANCED, overworld
1085 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1086 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1087 { ssoMINITILE, pos, 0, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1088 { ssoMINITILE, pos, 8, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1089 { ssoMINITILE, pos, 88, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1090 { ssoMINITILE, pos, 96, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1091 { ssoMINITILE, pos, 104, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1092 { ssoMINITILE, pos, 112, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1093 { ssoMINITILE, pos, 120, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1094 { ssoMINITILE, pos, 128, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1095 { ssoMINITILE, pos, 136, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1096 { ssoMINITILE, pos, 144, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1097 { ssoMINITILE, pos, 152, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1098 { ssoMINITILE, pos, 248, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1099 { ssoTEXT, pos, 51, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1100 { sso2X2FRAME, pos, 28, 72, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1101 { ssoTEXT, pos, 40, 72, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1102 { ssoTEXT, pos, 56, 80, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1103 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1104 { sso2X2FRAME, pos, 12, 20, 15, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1105 { ssoTEXT, pos, 136, 48, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
1106 { ssoTRIFRAME, pos, 136, 56, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1107 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1108 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1109 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1110 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1111 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1112 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1113 { sso2X2FRAME, pos, 20, 104, 14, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1114 { ssoBUTTONITEM, pos, 32, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1115 { ssoCURRENTITEM, pos, 40, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1116 { ssoCURRENTITEM, pos, 88, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1117 { ssoCURRENTITEM, pos, 72, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1118 { ssoCURRENTITEM, pos, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1119 { ssoCURRENTITEM, pos, 104, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1120 { ssoCURRENTITEM, pos, 56, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1121 { ssoCURRENTITEM, pos, 24, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1122 { ssoCURRENTITEM, pos, 40, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1123 { ssoCURRENTITEM, pos, 56, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1124 { ssoCURRENTITEM, pos, 72, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1125 { ssoCURRENTITEM, pos, 88, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1126 { ssoCURRENTITEM, pos, 104, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1127 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1128 { ssoCURRENTITEM, pos, 76, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1129 { ssoCURRENTITEM, pos, 84, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1130 { ssoCURRENTITEM, pos, 32, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 11, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1131 { ssoCURRENTITEM, pos, 56, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1132 { ssoCURRENTITEM, pos, 80, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1133 { ssoCURRENTITEM, pos, 104, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1134 { ssoCURRENTITEM, pos, 32, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1135 { ssoCURRENTITEM, pos, 56, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1136 { ssoCURRENTITEM, pos, 80, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1137 { ssoCURRENTITEM, pos, 104, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
1138 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
1139 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
1140 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
1141 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1142 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1143 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1144 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1145 { ssoBSTIME, sspDOWN, 208, 9, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1146 { ssoRECT, sspDOWN, 160, 9, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1147 { ssoLINE, sspDOWN, 204, 9, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1148 { ssoLINE, sspDOWN, 160, 16, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1149 { ssoTEXT, sspDOWN, 161, 10, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1150 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1151 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1152 },
1153 {
1154 //ssdtBSZELDAENHANCED, dungeon
1155 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1156 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1157 { ssoMINITILE, pos, 0, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1158 { ssoMINITILE, pos, 8, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1159 { ssoMINITILE, pos, 88, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1160 { ssoMINITILE, pos, 96, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1161 { ssoMINITILE, pos, 104, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1162 { ssoMINITILE, pos, 112, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1163 { ssoMINITILE, pos, 120, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1164 { ssoMINITILE, pos, 128, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1165 { ssoMINITILE, pos, 136, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1166 { ssoMINITILE, pos, 144, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1167 { ssoMINITILE, pos, 152, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1168 { ssoMINITILE, pos, 248, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1169 { ssoTEXT, pos, 51, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1170 { sso2X2FRAME, pos, 28, 72, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1171 { ssoTEXT, pos, 40, 72, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1172 { ssoTEXT, pos, 56, 80, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1173 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1174 { sso2X2FRAME, pos, 12, 20, 15, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1175 { sso2X2FRAME, pos, 160, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1176 { sso2X2FRAME, pos, 192, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1177 { ssoLARGEMAP, pos, 144, 88, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1178 { ssoTEXT, pos, 176, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Compass" },
1179 { ssoTEXT, pos, 208, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Map" },
1180 { ssoCURRENTITEM, pos, 200, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1181 { ssoCURRENTITEM, pos, 168, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1182 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1183 { sso2X2FRAME, pos, 20, 104, 14, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1184 { ssoBUTTONITEM, pos, 32, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1185 { ssoCURRENTITEM, pos, 40, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1186 { ssoCURRENTITEM, pos, 88, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1187 { ssoCURRENTITEM, pos, 72, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1188 { ssoCURRENTITEM, pos, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1189 { ssoCURRENTITEM, pos, 104, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1190 { ssoCURRENTITEM, pos, 56, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1191 { ssoCURRENTITEM, pos, 24, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1192 { ssoCURRENTITEM, pos, 40, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1193 { ssoCURRENTITEM, pos, 56, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1194 { ssoCURRENTITEM, pos, 72, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1195 { ssoCURRENTITEM, pos, 88, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1196 { ssoCURRENTITEM, pos, 104, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1197 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1198 { ssoCURRENTITEM, pos, 76, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1199 { ssoCURRENTITEM, pos, 84, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1200 { ssoCURRENTITEM, pos, 32, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 11, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1201 { ssoCURRENTITEM, pos, 56, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1202 { ssoCURRENTITEM, pos, 80, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1203 { ssoCURRENTITEM, pos, 104, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1204 { ssoCURRENTITEM, pos, 32, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1205 { ssoCURRENTITEM, pos, 56, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1206 { ssoCURRENTITEM, pos, 80, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1207 { ssoCURRENTITEM, pos, 104, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
1208 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
1209 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
1210 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
1211 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1212 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1213 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1214 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1215 { ssoBSTIME, sspDOWN, 208, 9, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1216 { ssoRECT, sspDOWN, 160, 9, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1217 { ssoLINE, sspDOWN, 204, 9, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1218 { ssoLINE, sspDOWN, 160, 16, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1219 { ssoTEXT, sspDOWN, 161, 10, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1220 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1221 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1222 }
1223 },
1224 {
1225 //ssdtBSZELDACOMPLETE
1226 {
1227 //ssdtBSZELDACOMPLETE, overworld
1228 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1229 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1230 { ssoMINITILE, pos, 0, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1231 { ssoMINITILE, pos, 8, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1232 { ssoMINITILE, pos, 88, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1233 { ssoMINITILE, pos, 96, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1234 { ssoMINITILE, pos, 104, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1235 { ssoMINITILE, pos, 112, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1236 { ssoMINITILE, pos, 120, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1237 { ssoMINITILE, pos, 128, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1238 { ssoMINITILE, pos, 136, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1239 { ssoMINITILE, pos, 144, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1240 { ssoMINITILE, pos, 152, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1241 { ssoMINITILE, pos, 248, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1242 { ssoTEXT, pos, 51, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1243 { sso2X2FRAME, pos, 28, 72, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1244 { ssoTEXT, pos, 40, 72, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1245 { ssoTEXT, pos, 56, 80, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1246 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1247 { sso2X2FRAME, pos, 12, 20, 15, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1248 { ssoTEXT, pos, 136, 48, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
1249 { ssoTRIFRAME, pos, 136, 56, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1250 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1251 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1252 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1253 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1254 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1255 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1256 { sso2X2FRAME, pos, 4, 104, 16, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1257 { ssoBUTTONITEM, pos, 32, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1258 { ssoCURRENTITEM, pos, 40, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1259 { ssoCURRENTITEM, pos, 88, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1260 { ssoCURRENTITEM, pos, 72, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1261 { ssoCURRENTITEM, pos, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1262 { ssoCURRENTITEM, pos, 104, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1263 { ssoCURRENTITEM, pos, 56, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1264 { ssoCURRENTITEM, pos, 24, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1265 { ssoCURRENTITEM, pos, 40, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1266 { ssoCURRENTITEM, pos, 56, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1267 { ssoCURRENTITEM, pos, 72, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1268 { ssoCURRENTITEM, pos, 88, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1269 { ssoCURRENTITEM, pos, 104, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1270 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1271 { ssoCURRENTITEM, pos, 58, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1272 { ssoCURRENTITEM, pos, 68, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1273 { ssoCURRENTITEM, pos, 14, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1274 { ssoCURRENTITEM, pos, 38, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1275 { ssoCURRENTITEM, pos, 62, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1276 { ssoCURRENTITEM, pos, 86, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
1277 { ssoCURRENTITEM, pos, 110, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_dinsfire, 1, 12, 14, 13, 3, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1278 { ssoCURRENTITEM, pos, 14, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 12, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1279 { ssoCURRENTITEM, pos, 38, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1280 { ssoCURRENTITEM, pos, 62, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1281 { ssoCURRENTITEM, pos, 86, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
1282 { ssoCURRENTITEM, pos, 110, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_faroreswind, 1, 13, 12, 14, 7, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
1283 { ssoCURRENTITEM, pos, 14, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 13, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
1284 { ssoCURRENTITEM, pos, 38, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
1285 { ssoCURRENTITEM, pos, 62, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
1286 { ssoCURRENTITEM, pos, 86, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
1287 { ssoCURRENTITEM, pos, 110, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_nayruslove, 1, 14, 13, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1288 { ssoBSTIME, sspDOWN, 208, 9, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1289 { ssoRECT, sspDOWN, 160, 9, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1290 { ssoLINE, sspDOWN, 204, 9, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1291 { ssoLINE, sspDOWN, 160, 16, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1292 { ssoTEXT, sspDOWN, 161, 10, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1293 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1294 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1295 },
1296 {
1297 //ssdtBSZELDACOMPLETE, dungeon
1298 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1299 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1300 { ssoMINITILE, pos, 0, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1301 { ssoMINITILE, pos, 8, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1302 { ssoMINITILE, pos, 88, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1303 { ssoMINITILE, pos, 96, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1304 { ssoMINITILE, pos, 104, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1305 { ssoMINITILE, pos, 112, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1306 { ssoMINITILE, pos, 120, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1307 { ssoMINITILE, pos, 128, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1308 { ssoMINITILE, pos, 136, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1309 { ssoMINITILE, pos, 144, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1310 { ssoMINITILE, pos, 152, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1311 { ssoMINITILE, pos, 248, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1312 { ssoTEXT, pos, 51, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1313 { sso2X2FRAME, pos, 28, 72, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1314 { ssoTEXT, pos, 40, 72, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1315 { ssoTEXT, pos, 56, 80, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1316 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1317 { sso2X2FRAME, pos, 12, 20, 15, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1318 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1319 { sso2X2FRAME, pos, 152, 40, 10, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1320 { ssoLARGEMAP, pos, 144, 88, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1321 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1322 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1323 { ssoCURRENTITEM, pos, 160, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1324 { ssoCURRENTITEM, pos, 184, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1325 { ssoCURRENTITEM, pos, 208, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bosskey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1326 { sso2X2FRAME, pos, 4, 104, 16, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1327 { ssoBUTTONITEM, pos, 32, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1328 { ssoCURRENTITEM, pos, 40, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1329 { ssoCURRENTITEM, pos, 88, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1330 { ssoCURRENTITEM, pos, 72, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1331 { ssoCURRENTITEM, pos, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1332 { ssoCURRENTITEM, pos, 104, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1333 { ssoCURRENTITEM, pos, 56, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1334 { ssoCURRENTITEM, pos, 24, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1335 { ssoCURRENTITEM, pos, 40, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1336 { ssoCURRENTITEM, pos, 56, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1337 { ssoCURRENTITEM, pos, 72, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1338 { ssoCURRENTITEM, pos, 88, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1339 { ssoCURRENTITEM, pos, 104, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1340 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1341 { ssoCURRENTITEM, pos, 58, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1342 { ssoCURRENTITEM, pos, 68, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1343 { ssoCURRENTITEM, pos, 14, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1344 { ssoCURRENTITEM, pos, 38, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1345 { ssoCURRENTITEM, pos, 62, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1346 { ssoCURRENTITEM, pos, 86, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
1347 { ssoCURRENTITEM, pos, 110, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_dinsfire, 1, 12, 14, 13, 3, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1348 { ssoCURRENTITEM, pos, 14, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 12, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1349 { ssoCURRENTITEM, pos, 38, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1350 { ssoCURRENTITEM, pos, 62, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1351 { ssoCURRENTITEM, pos, 86, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
1352 { ssoCURRENTITEM, pos, 110, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_faroreswind, 1, 13, 12, 14, 7, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
1353 { ssoCURRENTITEM, pos, 14, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 13, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
1354 { ssoCURRENTITEM, pos, 38, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
1355 { ssoCURRENTITEM, pos, 62, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
1356 { ssoCURRENTITEM, pos, 86, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
1357 { ssoCURRENTITEM, pos, 110, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_nayruslove, 1, 14, 13, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1358 { ssoBSTIME, sspDOWN, 208, 9, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1359 { ssoRECT, sspDOWN, 160, 9, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1360 { ssoLINE, sspDOWN, 204, 9, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1361 { ssoLINE, sspDOWN, 160, 16, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1362 { ssoTEXT, sspDOWN, 161, 10, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1363 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1364 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1365 }
1366 }
1367 };
1368 subscreen_object default_subscreen_passive[ssdtMAX][2][21]= //[zinit.subscreen][no magic]
1369 {
1370 {
1371 //ssdtOLD
1372 {
1373 //ssdtOLD, magic
1374 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1375 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1376 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1377 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1378 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1379 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1380 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1381 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1382 { ssoBUTTONITEM, sspUP, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1383 { ssoBUTTONITEM, sspUP, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1384 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1385 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1386 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1387 { ssoTEXT, pos, 208, 12, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1388 { ssoLIFEMETER, pos, 176, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1389 { ssoMAGICMETER, pos, 176, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1390 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1391 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1392 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1393 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1394 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1395 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1396 },
1397 {
1398 //ssdtOLD, no magic
1399 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1400 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1401 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1402 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1403 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1404 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1405 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1406 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1407 { ssoBUTTONITEM, sspUP, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1408 { ssoBUTTONITEM, sspUP, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1409 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1410 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1411 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1412 { ssoTEXT, pos, 208, 16, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1413 { ssoLIFEMETER, pos, 176, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1414 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1415 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1416 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1417 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1418 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1419 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1420 }
1421 },
1422 {
1423 //ssdtNEWSUBSCR
1424 {
1425 //ssdtNEWSUBSCR, magic
1426 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1427 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1428 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1429 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1430 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1431 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1432 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1433 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1434 { ssoBUTTONITEM, pos, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1435 { ssoBUTTONITEM, pos, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1436 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1437 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1438 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1439 { ssoTEXT, pos, 208, 12, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1440 { ssoLIFEMETER, pos, 176, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1441 { ssoMAGICMETER, pos, 176, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1442 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1443 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1444 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1445 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1446 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1447 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1448 },
1449 {
1450 //ssdtNEWSUBSCR, no magic
1451 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1452 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1453 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1454 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1455 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1456 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1457 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1458 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1459 { ssoBUTTONITEM, pos, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1460 { ssoBUTTONITEM, pos, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1461 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1462 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1463 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1464 { ssoTEXT, pos, 208, 16, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1465 { ssoLIFEMETER, pos, 176, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1466 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1467 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1468 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1469 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1470 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1471 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1472 }
1473 },
1474 {
1475 //ssdtREV2
1476 {
1477 //ssdtREV2, magic
1478 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1479 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1480 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1481 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1482 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1483 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1484 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1485 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1486 { ssoBUTTONITEM, pos, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1487 { ssoBUTTONITEM, pos, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1488 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1489 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1490 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1491 { ssoTEXT, pos, 208, 12, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1492 { ssoLIFEMETER, pos, 176, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1493 { ssoMAGICMETER, pos, 176, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1494 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1495 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1496 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1497 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1498 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1499 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1500 },
1501 {
1502 //ssdtREV2, no magic
1503 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1504 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1505 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1506 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1507 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1508 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1509 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1510 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1511 { ssoBUTTONITEM, pos, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1512 { ssoBUTTONITEM, pos, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1513 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1514 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1515 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1516 { ssoTEXT, pos, 208, 16, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1517 { ssoLIFEMETER, pos, 176, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1518 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1519 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1520 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1521 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1522 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1523 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1524 }
1525 },
1526 {
1527 //ssdtBSZELDA
1528 {
1529 //ssdtBSZELDA, magic
1530 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1531 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1532 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1533 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1534 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1535 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1536 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1537 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1538 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1539 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1540 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1541 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1542 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1543 { ssoTEXT, pos, 220, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1544 { ssoLIFEMETER, pos, 188, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1545 { ssoMAGICMETER, pos, 188, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1546 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1547 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1548 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1549 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1550 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1551 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1552 },
1553 {
1554 //ssdtBSZELDA, no magic
1555 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1556 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1557 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1558 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1559 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1560 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1561 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1562 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1563 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1564 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1565 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1566 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1567 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1568 { ssoTEXT, pos, 216, 16, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1569 { ssoLIFEMETER, pos, 184, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1570 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1571 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1572 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1573 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1574 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1575 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1576 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1577 }
1578 },
1579 {
1580 //ssdtBSZELDAMODIFIED
1581 {
1582 //ssdtBSZELDAMODIFIED, magic
1583 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1584 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1585 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1586 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1587 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1588 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1589 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1590 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1591 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1592 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1593 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1594 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1595 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1596 { ssoTEXT, pos, 220, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1597 { ssoLIFEMETER, pos, 188, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1598 { ssoMAGICMETER, pos, 188, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1599 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1600 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1601 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1602 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1603 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1604 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1605 },
1606 {
1607 //ssdtBSZELDAMODIFIED, no magic
1608 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1609 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1610 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1611 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1612 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1613 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1614 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1615 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1616 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1617 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1618 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1619 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1620 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1621 { ssoTEXT, pos, 216, 16, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1622 { ssoLIFEMETER, pos, 184, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1623 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1624 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1625 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1626 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1627 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1628 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1629 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1630 }
1631 },
1632 {
1633 //ssdtBSZELDAENHANCED
1634 {
1635 //ssdtBSZELDAENHANCED, magic
1636 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1637 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1638 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1639 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1640 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1641 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1642 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1643 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1644 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1645 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1646 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1647 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1648 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1649 { ssoTEXT, pos, 220, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1650 { ssoLIFEMETER, pos, 188, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1651 { ssoMAGICMETER, pos, 188, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1652 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1653 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1654 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1655 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1656 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1657 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1658 },
1659 {
1660 //ssdtBSZELDAENHANCED, no magic
1661 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1662 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1663 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1664 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1665 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1666 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1667 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1668 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1669 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1670 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1671 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1672 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1673 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1674 { ssoTEXT, pos, 216, 16, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1675 { ssoLIFEMETER, pos, 184, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1676 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1677 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1678 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1679 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1680 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1681 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1682 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1683 }
1684 },
1685 {
1686 //ssdtBSZELDACOMPLETE
1687 {
1688 //ssdtBSZELDACOMPLETE, magic
1689 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1690 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1691 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1692 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1693 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1694 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1695 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1696 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1697 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1698 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1699 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1700 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1701 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1702 { ssoTEXT, pos, 220, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1703 { ssoLIFEMETER, pos, 188, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1704 { ssoMAGICMETER, pos, 188, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1705 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1706 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1707 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1708 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1709 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1710 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1711 },
1712 {
1713 //ssdtBSZELDACOMPLETE, no magic
1714 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1715 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1716 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1717 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1718 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1719 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1720 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1721 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1722 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1723 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1724 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1725 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1726 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1727 { ssoTEXT, pos, 216, 16, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1728 { ssoLIFEMETER, pos, 184, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1729 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1730 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1731 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1732 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1733 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1734 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1735 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1736 }
1737 }
1738 };
1739
1740 48392792 void textout_styled_aligned_ex(BITMAP *bmp, const FONT *f, const char *s, int32_t x, int32_t y, int32_t textstyle, int32_t alignment, int32_t color, int32_t shadow, int32_t bg)
1741 {
1742
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 5382765 times.
✓ Branch 2 taken 21719729 times.
✓ Branch 3 taken 21290298 times.
48392792 switch(alignment)
1743 {
1744 case sstaRIGHT:
1745
3/12
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✓ Branch 6 taken 923 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 11678 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 5370164 times.
5382765 switch(textstyle)
1746 {
1747 case sstsSHADOW:
1748 textout_shadow_right_ex(bmp, f, s, x, y, shadow, bg);
1749 break;
1750
1751 case sstsSHADOWU:
1752 textout_shadow_right_u_ex(bmp, f, s, x, y, shadow, bg);
1753 break;
1754
1755 case sstsOUTLINE8:
1756 textout_shadow_right_o_ex(bmp, f, s, x, y, shadow, bg);
1757 break;
1758
1759 case sstsOUTLINEPLUS:
1760 textout_shadow_right_plus_ex(bmp, f, s, x, y, shadow, bg);
1761 break;
1762
1763 case sstsOUTLINEX:
1764 textout_shadow_right_x_ex(bmp, f, s, x, y, shadow, bg);
1765 break;
1766
1767 case sstsSHADOWED:
1768 923 textout_shadowed_right_ex(bmp, f, s, x, y, color, shadow, bg);
1769 923 break;
1770
1771 case sstsSHADOWEDU:
1772 textout_shadowed_right_u_ex(bmp, f, s, x, y, color, shadow, bg);
1773 break;
1774
1775 case sstsOUTLINED8:
1776 11678 textout_shadowed_right_o_ex(bmp, f, s, x, y, color, shadow, bg);
1777 11678 break;
1778
1779 case sstsOUTLINEDPLUS:
1780 textout_shadowed_right_plus_ex(bmp, f, s, x, y, color, shadow, bg);
1781 break;
1782
1783 case sstsOUTLINEDX:
1784 textout_shadowed_right_x_ex(bmp, f, s, x, y, color, shadow, bg);
1785 break;
1786
1787 5370164 case sstsNORMAL:
1788 default:
1789 5370164 textout_right_ex(bmp, f, s, x, y, color, bg);
1790 5370164 break;
1791 }
1792
1793 5382765 break;
1794
1795 case sstaCENTER:
1796
4/12
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✓ Branch 6 taken 2532 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 20974 times.
✓ Branch 9 taken 288470 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 21407753 times.
21719729 switch(textstyle)
1797 {
1798 case sstsSHADOW:
1799 textout_shadow_center_ex(bmp, f, s, x, y, shadow, bg);
1800 break;
1801
1802 case sstsSHADOWU:
1803 textout_shadow_center_u_ex(bmp, f, s, x, y, shadow, bg);
1804 break;
1805
1806 case sstsOUTLINE8:
1807 textout_shadow_center_o_ex(bmp, f, s, x, y, shadow, bg);
1808 break;
1809
1810 case sstsOUTLINEPLUS:
1811 textout_shadow_center_plus_ex(bmp, f, s, x, y, shadow, bg);
1812 break;
1813
1814 case sstsOUTLINEX:
1815 textout_shadow_center_x_ex(bmp, f, s, x, y, shadow, bg);
1816 break;
1817
1818 case sstsSHADOWED:
1819 2532 textout_shadowed_center_ex(bmp, f, s, x, y, color, shadow, bg);
1820 2532 break;
1821
1822 case sstsSHADOWEDU:
1823 textout_shadowed_center_u_ex(bmp, f, s, x, y, color, shadow, bg);
1824 break;
1825
1826 case sstsOUTLINED8:
1827 20974 textout_shadowed_center_o_ex(bmp, f, s, x, y, color, shadow, bg);
1828 20974 break;
1829
1830 case sstsOUTLINEDPLUS:
1831 288470 textout_shadowed_center_plus_ex(bmp, f, s, x, y, color, shadow, bg);
1832 288470 break;
1833
1834 case sstsOUTLINEDX:
1835 textout_shadowed_center_x_ex(bmp, f, s, x, y, color, shadow, bg);
1836 break;
1837
1838 21407753 case sstsNORMAL:
1839 default:
1840 21407753 textout_centre_ex(bmp, f, s, x, y, color, bg);
1841 21407753 break;
1842 }
1843
1844 21719729 break;
1845
1846 21290298 case sstaLEFT:
1847 default:
1848
5/12
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✓ Branch 6 taken 4908 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 806545 times.
✓ Branch 9 taken 1605547 times.
✓ Branch 10 taken 364228 times.
✓ Branch 11 taken 18509070 times.
21290298 switch(textstyle)
1849 {
1850 case sstsSHADOW:
1851 textout_shadow_ex(bmp, f, s, x, y, shadow, bg);
1852 break;
1853
1854 case sstsSHADOWU:
1855 textout_shadow_u_ex(bmp, f, s, x, y, shadow, bg);
1856 break;
1857
1858 case sstsOUTLINE8:
1859 textout_shadow_o_ex(bmp, f, s, x, y, shadow, bg);
1860 break;
1861
1862 case sstsOUTLINEPLUS:
1863 textout_shadow_plus_ex(bmp, f, s, x, y, shadow, bg);
1864 break;
1865
1866 case sstsOUTLINEX:
1867 textout_shadow_x_ex(bmp, f, s, x, y, shadow, bg);
1868 break;
1869
1870 case sstsSHADOWED:
1871 4908 textout_shadowed_ex(bmp, f, s, x, y, color, shadow, bg);
1872 4908 break;
1873
1874 case sstsSHADOWEDU:
1875 textout_shadowed_u_ex(bmp, f, s, x, y, color, shadow, bg);
1876 break;
1877
1878 case sstsOUTLINED8:
1879 806545 textout_shadowed_o_ex(bmp, f, s, x, y, color, shadow, bg);
1880 806545 break;
1881
1882 case sstsOUTLINEDPLUS:
1883 1605547 textout_shadowed_plus_ex(bmp, f, s, x, y, color, shadow, bg);
1884 1605547 break;
1885
1886 case sstsOUTLINEDX:
1887 364228 textout_shadowed_x_ex(bmp, f, s, x, y, color, shadow, bg);
1888 364228 break;
1889
1890 18509070 case sstsNORMAL:
1891 default:
1892 18509070 textout_ex(bmp, f, s, x, y, color, bg);
1893 18509070 break;
1894 }
1895
1896 21290298 break;
1897 }
1898 48392792 }
1899
1900 18701732 void textprintf_styled_aligned_ex(BITMAP *bmp, const FONT *f, int32_t x, int32_t y, int32_t textstyle, int32_t alignment, int32_t color, int32_t shadow, int32_t bg, const char *format, ...)
1901 {
1902
1903 char buf[512];
1904 va_list ap;
1905
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 18701732 times.
18701732 ASSERT(bmp);
1906
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 18701732 times.
18701732 ASSERT(f);
1907
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 18701732 times.
18701732 ASSERT(format);
1908
1909 18701732 va_start(ap, format);
1910 18701732 uvszprintf(buf, sizeof(buf), format, ap);
1911 18701732 va_end(ap);
1912
1913 18701732 textout_styled_aligned_ex(bmp, f, buf, x, y, textstyle, alignment, color, shadow, bg);
1914 18701732 }
1915
1916
1917 64665 void draw_textbox(BITMAP *dest, int32_t x, int32_t y, int32_t w, int32_t h, FONT *tempfont, char *thetext, bool wword, int32_t tabsize, int32_t alignment, int32_t textstyle, int32_t color, int32_t shadowcolor, int32_t backcolor)
1918 {
1919 64665 int32_t y1 = y;
1920 int32_t x1;
1921 int32_t len;
1922 char s[16];
1923 char text[16];
1924 char space[16];
1925 64665 char *printed = text;
1926 64665 char *scanned = text;
1927 64665 char *oldscan = text;
1928 64665 char *ignore = NULL;
1929 char *tmp, *ptmp;
1930 int32_t width;
1931 64665 int32_t i = 0;
1932 int32_t noignore;
1933
1934 64665 usetc(s+usetc(s, '.'), 0);
1935 64665 usetc(text+usetc(text, ' '), 0);
1936 64665 usetc(space+usetc(space, ' '), 0);
1937
1938 /* find the correct text */
1939
1/2
✓ Branch 0 taken 64665 times.
✗ Branch 1 not taken.
64665 if(thetext != NULL)
1940 {
1941 64665 printed = thetext;
1942 64665 scanned = thetext;
1943 64665 }
1944
1945 /* loop over the entire string */
1946 239069 for(;;)
1947 {
1948 239069 width = 0;
1949
1950 /* find the next break */
1951
2/2
✓ Branch 0 taken 18109 times.
✓ Branch 1 taken 287809 times.
305918 while(ugetc(scanned))
1952 {
1953 /* check for a forced break */
1954
1/2
✓ Branch 0 taken 287809 times.
✗ Branch 1 not taken.
287809 if(ugetc(scanned) == '\n')
1955 {
1956 scanned += uwidth(scanned);
1957 /* we are done parsing the line end */
1958 break;
1959 }
1960
1961 /* the next character length */
1962 287809 usetc(s+usetc(s, ugetc(scanned)), 0);
1963 287809 len = text_length(tempfont, s);
1964
1965 /* modify length if its a tab */
1966
2/2
✓ Branch 0 taken 266501 times.
✓ Branch 1 taken 21308 times.
287809 if(ugetc(s) == '\t')
1967 {
1968 21308 len = tabsize * text_length(tempfont, space);
1969 21308 }
1970
1971 /* check for the end of a line by excess width of next char */
1972
2/2
✓ Branch 0 taken 66849 times.
✓ Branch 1 taken 220960 times.
287809 if(width+len >= w)
1973 {
1974 /* we have reached end of line do we go back to find start */
1975
1/2
✓ Branch 0 taken 220960 times.
✗ Branch 1 not taken.
220960 if(wword)
1976 {
1977 /* remember where we were */
1978 oldscan = scanned;
1979 noignore = FALSE;
1980
1981 /* go backwards looking for start of word */
1982 while(!uisspace(ugetc(scanned)))
1983 {
1984 /* don't wrap too far */
1985 if(scanned == printed)
1986 {
1987 /* the whole line is filled, so stop here */
1988 tmp = ptmp = scanned;
1989
1990 while(ptmp != oldscan)
1991 {
1992 ptmp = tmp;
1993 tmp += uwidth(tmp);
1994 }
1995
1996 scanned = ptmp;
1997 noignore = TRUE;
1998 break;
1999 }
2000
2001 /* look further backwards to wrap */
2002 tmp = ptmp = printed;
2003
2004 while(tmp < scanned)
2005 {
2006 ptmp = tmp;
2007 tmp += uwidth(tmp);
2008 }
2009
2010 scanned = ptmp;
2011 }
2012
2013 /* put the space at the end of the line */
2014 if(!noignore)
2015 {
2016 ignore = scanned;
2017 scanned += uwidth(scanned);
2018 }
2019 else
2020 {
2021 ignore = NULL;
2022 }
2023
2024 /* check for endline at the convenient place */
2025 if(ugetc(scanned) == '\n')
2026 {
2027 scanned += uwidth(scanned);
2028 }
2029 }
2030
2031 /* we are done parsing the line end */
2032 220960 break;
2033 }
2034
2035 /* the character can be added */
2036 66849 scanned += uwidth(scanned);
2037 66849 width += len;
2038 }
2039
2040 /* check if we are to print it */
2041
2/2
✓ Branch 0 taken 13767 times.
✓ Branch 1 taken 225302 times.
239069 if((y1+text_height(tempfont) <= (y+h)))
2042 {
2043 13767 int32_t tempw=0;
2044 13767 char *tempprinted=printed;
2045
2046 /* print up to the marked character */
2047
2/2
✓ Branch 0 taken 45541 times.
✓ Branch 1 taken 13767 times.
59308 while(printed != scanned)
2048 {
2049 /* do special stuff for each charater */
2050
1/3
✗ Branch 0 not taken.
✓ Branch 1 taken 45541 times.
✗ Branch 2 not taken.
45541 switch(ugetc(printed))
2051 {
2052 case '\r':
2053 case '\n':
2054 /* don't print endlines in the text */
2055 break;
2056
2057 /* possibly expand the tabs */
2058 case '\t':
2059 for(i=0; i<tabsize; i++)
2060 {
2061 usetc(s+usetc(s, ' '), 0);
2062 tempw += text_length(tempfont, s);
2063 }
2064
2065 break;
2066
2067 /* print a normal character */
2068 default:
2069
1/2
✓ Branch 0 taken 45541 times.
✗ Branch 1 not taken.
45541 if(printed != ignore)
2070 {
2071 45541 usetc(s+usetc(s, ugetc(printed)), 0);
2072 45541 tempw += text_length(tempfont, s);
2073 45541 }
2074 45541 }
2075
2076 /* goto the next character */
2077 45541 printed += uwidth(printed);
2078 }
2079
2080 13767 printed=tempprinted;
2081
2082
2/4
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✓ Branch 2 taken 13269 times.
✓ Branch 3 taken 498 times.
13767 switch(alignment)
2083 {
2084 case sstaRIGHT:
2085 x1=x+w-tempw;
2086 break;
2087
2088 case sstaCENTER:
2089 13269 x1=x+((w-tempw)/2)+1;
2090 13269 break;
2091
2092 498 case sstaLEFT:
2093 default:
2094 498 x1 = x;
2095 498 break;
2096 }
2097
2098 /* print up to the marked character */
2099
2/2
✓ Branch 0 taken 45541 times.
✓ Branch 1 taken 13767 times.
59308 while(printed != scanned)
2100 {
2101 /* do special stuff for each charater */
2102
1/3
✗ Branch 0 not taken.
✓ Branch 1 taken 45541 times.
✗ Branch 2 not taken.
45541 switch(ugetc(printed))
2103 {
2104
2105 case '\r':
2106 case '\n':
2107 /* don't print endlines in the text */
2108 break;
2109
2110 /* possibly expand the tabs */
2111 case '\t':
2112 for(i=0; i<tabsize; i++)
2113 {
2114 usetc(s+usetc(s, ' '), 0);
2115 textout_styled_aligned_ex(dest, tempfont, s, x1, y1, textstyle, sstaLEFT, color, shadowcolor, backcolor);
2116 x1 += text_length(tempfont, s);
2117 }
2118
2119 break;
2120
2121 /* print a normal character */
2122 default:
2123
1/2
✓ Branch 0 taken 45541 times.
✗ Branch 1 not taken.
45541 if(printed != ignore)
2124 {
2125 45541 usetc(s+usetc(s, ugetc(printed)), 0);
2126 45541 textout_styled_aligned_ex(dest, tempfont, s, x1, y1, textstyle, sstaLEFT, color, shadowcolor, backcolor);
2127 45541 x1 += text_length(tempfont, s);
2128 45541 }
2129 45541 }
2130
2131 /* goto the next character */
2132 45541 printed += uwidth(printed);
2133 }
2134
2135 /* print the line end */
2136 13767 y1 += text_height(tempfont);
2137 13767 }
2138 else
2139 {
2140 225302 scanned += uwidth(scanned);
2141 }
2142
2143 239069 printed = scanned;
2144
2145 /* check if we are at the end of the string */
2146
2/2
✓ Branch 0 taken 64665 times.
✓ Branch 1 taken 174404 times.
239069 if(!ugetc(printed))
2147 {
2148 64665 return;
2149 }
2150 }
2151 }
2152
2153
2154
2155 //void frame2x2(BITMAP *dest,miscQdata *misc,int32_t x,int32_t y,int32_t xsize,int32_t ysize,int32_t t,int32_t c)
2156 //draw_block_flip(dest,x,y,css->objects[i].d1,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].w,css->objects[i].h,css->objects[i].d2,css->objects[i].d3,css->objects[i].d4);
2157 12263957 void frame2x2(BITMAP *dest,miscQdata *misc,int32_t x,int32_t y,int32_t tile,int32_t cset,int32_t w,int32_t h,int32_t /*flip*/,bool overlay,bool trans)
2158 {
2159 /*
2160 /- -- -- -\
2161 | |
2162 | |
2163 \_ __ __ _/
2164
2165 0 1 4 5
2166 2 3 6 7
2167 80 81 84 85
2168 82 83 86 87
2169 */
2170
3/4
✓ Branch 0 taken 10353846 times.
✓ Branch 1 taken 1910111 times.
✓ Branch 2 taken 10353846 times.
✗ Branch 3 not taken.
12263957 if(tile==0&&misc)
2171 {
2172 10353846 tile = misc->colors.blueframe_tile;
2173 10353846 }
2174
2175 12263957 int32_t t8 = tile<<2;
2176
2177
2/2
✓ Branch 0 taken 12252266 times.
✓ Branch 1 taken 11691 times.
12263957 if(overlay)
2178 {
2179
2/2
✓ Branch 0 taken 44345 times.
✓ Branch 1 taken 12207921 times.
12252266 if(trans)
2180 {
2181
2/2
✓ Branch 0 taken 1419040 times.
✓ Branch 1 taken 44345 times.
1463385 for(int32_t dx=0; dx<w; dx++)
2182 {
2183
6/6
✓ Branch 0 taken 709520 times.
✓ Branch 1 taken 709520 times.
✓ Branch 2 taken 44345 times.
✓ Branch 3 taken 665175 times.
✓ Branch 4 taken 665175 times.
✓ Branch 5 taken 44345 times.
1419040 int32_t top = (dx >= (w>>1)) ? ((dx==w-1) ? t8+5 : t8+4) : ((dx==0) ? t8 : t8+1);
2184
6/6
✓ Branch 0 taken 709520 times.
✓ Branch 1 taken 709520 times.
✓ Branch 2 taken 44345 times.
✓ Branch 3 taken 665175 times.
✓ Branch 4 taken 665175 times.
✓ Branch 5 taken 44345 times.
1419040 int32_t bottom = (dx >= (w>>1)) ? ((dx==w-1) ? t8+87 : t8+86) : ((dx==0) ? t8+82 : t8+83);
2185
2186 1419040 overtiletranslucent8(dest,top,(dx<<3)+x,y,cset,0,128);
2187 1419040 overtiletranslucent8(dest,bottom,(dx<<3)+x,((h-1)<<3)+y,cset,0,128);
2188 1419040 }
2189
2190
2/2
✓ Branch 0 taken 221725 times.
✓ Branch 1 taken 44345 times.
266070 for(int32_t dy=1; dy<h-1; dy++)
2191 {
2192
2/2
✓ Branch 0 taken 133035 times.
✓ Branch 1 taken 88690 times.
221725 int32_t left = (dy >= (h>>1)) ? t8+80 : t8+2;
2193
2/2
✓ Branch 0 taken 133035 times.
✓ Branch 1 taken 88690 times.
221725 int32_t right = (dy >= (h>>1)) ? t8+85 : t8+7;
2194
2195 221725 overtiletranslucent8(dest,left,x,(dy<<3)+y,cset,0,128);
2196 221725 overtiletranslucent8(dest,right,((w-1)<<3)+x,(dy<<3)+y,cset,0,128);
2197
2198
2/2
✓ Branch 0 taken 6651750 times.
✓ Branch 1 taken 221725 times.
6873475 for(int32_t dx=1; dx<w-1; dx++)
2199 {
2200
6/6
✓ Branch 0 taken 3991050 times.
✓ Branch 1 taken 2660700 times.
✓ Branch 2 taken 1995525 times.
✓ Branch 3 taken 1995525 times.
✓ Branch 4 taken 1330350 times.
✓ Branch 5 taken 1330350 times.
6651750 int32_t fill = (dy >= (h>>1)) ? ((dx >= (w>>1)) ? t8+84 : t8+81) : ((dx >= (w>>1)) ? t8+6 : t8+3);
2201 6651750 overtiletranslucent8(dest,fill,(dx<<3)+x,(dy<<3)+y,cset,0,128);
2202 6651750 }
2203 221725 }
2204 44345 }
2205 else
2206 {
2207
2/2
✓ Branch 0 taken 43268015 times.
✓ Branch 1 taken 12207921 times.
55475936 for(int32_t dx=0; dx<w; dx++)
2208 {
2209
6/6
✓ Branch 0 taken 26895542 times.
✓ Branch 1 taken 16372473 times.
✓ Branch 2 taken 12207921 times.
✓ Branch 3 taken 14687621 times.
✓ Branch 4 taken 4164552 times.
✓ Branch 5 taken 12207921 times.
43268015 int32_t top = (dx >= (w>>1)) ? ((dx==w-1) ? t8+5 : t8+4) : ((dx==0) ? t8 : t8+1);
2210
6/6
✓ Branch 0 taken 26895542 times.
✓ Branch 1 taken 16372473 times.
✓ Branch 2 taken 12207921 times.
✓ Branch 3 taken 14687621 times.
✓ Branch 4 taken 4164552 times.
✓ Branch 5 taken 12207921 times.
43268015 int32_t bottom = (dx >= (w>>1)) ? ((dx==w-1) ? t8+87 : t8+86) : ((dx==0) ? t8+82 : t8+83);
2211
2212 43268015 overtile8(dest,top,(dx<<3)+x,y,cset,0);
2213 43268015 overtile8(dest,bottom,(dx<<3)+x,((h-1)<<3)+y,cset,0);
2214 43268015 }
2215
2216
2/2
✓ Branch 0 taken 26456248 times.
✓ Branch 1 taken 12207921 times.
38664169 for(int32_t dy=1; dy<h-1; dy++)
2217 {
2218
2/2
✓ Branch 0 taken 13790782 times.
✓ Branch 1 taken 12665466 times.
26456248 int32_t left = (dy >= (h>>1)) ? t8+80 : t8+2;
2219
2/2
✓ Branch 0 taken 13790782 times.
✓ Branch 1 taken 12665466 times.
26456248 int32_t right = (dy >= (h>>1)) ? t8+85 : t8+7;
2220
2221 26456248 overtile8(dest,left,x,(dy<<3)+y,cset,0);
2222 26456248 overtile8(dest,right,((w-1)<<3)+x,(dy<<3)+y,cset,0);
2223
2224
2/2
✓ Branch 0 taken 49228597 times.
✓ Branch 1 taken 26456248 times.
75684845 for(int32_t dx=1; dx<w-1; dx++)
2225 {
2226
6/6
✓ Branch 0 taken 25742348 times.
✓ Branch 1 taken 23486249 times.
✓ Branch 2 taken 18251276 times.
✓ Branch 3 taken 7491072 times.
✓ Branch 4 taken 17123226 times.
✓ Branch 5 taken 6363023 times.
49228597 int32_t fill = (dy >= (h>>1)) ? ((dx >= (w>>1)) ? t8+84 : t8+81) : ((dx >= (w>>1)) ? t8+6 : t8+3);
2227 49228597 overtile8(dest,fill,(dx<<3)+x,(dy<<3)+y,cset,0);
2228 49228597 }
2229 26456248 }
2230 }
2231 12252266 }
2232 else
2233 {
2234
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 11691 times.
11691 if(trans)
2235 {
2236 for(int32_t dx=0; dx<w; dx++)
2237 {
2238 int32_t top = (dx >= (w>>1)) ? ((dx==w-1) ? t8+5 : t8+4) : ((dx==0) ? t8 : t8+1);
2239 int32_t bottom = (dx >= (w>>1)) ? ((dx==w-1) ? t8+87 : t8+86) : ((dx==0) ? t8+82 : t8+83);
2240
2241 puttiletranslucent8(dest,top,(dx<<3)+x,y,cset,0,128);
2242 puttiletranslucent8(dest,bottom,(dx<<3)+x,((h-1)<<3)+y,cset,0,128);
2243 }
2244
2245 for(int32_t dy=1; dy<h-1; dy++)
2246 {
2247 int32_t left = (dy >= (h>>1)) ? t8+80 : t8+2;
2248 int32_t right = (dy >= (h>>1)) ? t8+85 : t8+7;
2249
2250 puttiletranslucent8(dest,left,x,(dy<<3)+y,cset,0,128);
2251 puttiletranslucent8(dest,right,((w-1)<<3)+x,(dy<<3)+y,cset,0,128);
2252
2253 for(int32_t dx=1; dx<w-1; dx++)
2254 {
2255 int32_t fill = (dy >= (h>>1)) ? ((dx >= (w>>1)) ? t8+84 : t8+81) : ((dx >= (w>>1)) ? t8+6 : t8+3);
2256 puttiletranslucent8(dest,fill,(dx<<3)+x,(dy<<3)+y,cset,0,128);
2257 }
2258 }
2259 }
2260 else
2261 {
2262
2/2
✓ Branch 0 taken 187056 times.
✓ Branch 1 taken 11691 times.
198747 for(int32_t dx=0; dx<w; dx++)
2263 {
2264
6/6
✓ Branch 0 taken 93528 times.
✓ Branch 1 taken 93528 times.
✓ Branch 2 taken 11691 times.
✓ Branch 3 taken 81837 times.
✓ Branch 4 taken 81837 times.
✓ Branch 5 taken 11691 times.
187056 int32_t top = (dx >= (w>>1)) ? ((dx==w-1) ? t8+5 : t8+4) : ((dx==0) ? t8 : t8+1);
2265
6/6
✓ Branch 0 taken 93528 times.
✓ Branch 1 taken 93528 times.
✓ Branch 2 taken 11691 times.
✓ Branch 3 taken 81837 times.
✓ Branch 4 taken 81837 times.
✓ Branch 5 taken 11691 times.
187056 int32_t bottom = (dx >= (w>>1)) ? ((dx==w-1) ? t8+87 : t8+86) : ((dx==0) ? t8+82 : t8+83);
2266
2267 187056 oldputtile8(dest,top,(dx<<3)+x,y,cset,0);
2268 187056 oldputtile8(dest,bottom,(dx<<3)+x,((h-1)<<3)+y,cset,0);
2269 187056 }
2270
2271
2/2
✓ Branch 0 taken 93528 times.
✓ Branch 1 taken 11691 times.
105219 for(int32_t dy=1; dy<h-1; dy++)
2272 {
2273
2/2
✓ Branch 0 taken 46764 times.
✓ Branch 1 taken 46764 times.
93528 int32_t left = (dy >= (h>>1)) ? t8+80 : t8+2;
2274
2/2
✓ Branch 0 taken 46764 times.
✓ Branch 1 taken 46764 times.
93528 int32_t right = (dy >= (h>>1)) ? t8+85 : t8+7;
2275
2276 93528 oldputtile8(dest,left,x,(dy<<3)+y,cset,0);
2277 93528 oldputtile8(dest,right,((w-1)<<3)+x,(dy<<3)+y,cset,0);
2278
2279
2/2
✓ Branch 0 taken 1309392 times.
✓ Branch 1 taken 93528 times.
1402920 for(int32_t dx=1; dx<w-1; dx++)
2280 {
2281
6/6
✓ Branch 0 taken 654696 times.
✓ Branch 1 taken 654696 times.
✓ Branch 2 taken 327348 times.
✓ Branch 3 taken 327348 times.
✓ Branch 4 taken 327348 times.
✓ Branch 5 taken 327348 times.
1309392 int32_t fill = (dy >= (h>>1)) ? ((dx >= (w>>1)) ? t8+84 : t8+81) : ((dx >= (w>>1)) ? t8+6 : t8+3);
2282 1309392 oldputtile8(dest,fill,(dx<<3)+x,(dy<<3)+y,cset,0);
2283 1309392 }
2284 93528 }
2285 }
2286 }
2287 12263957 }
2288 void frame2x2_a5(miscQdata *misc,int32_t x,int32_t y,int32_t tile,int32_t cset,int32_t w,int32_t h,int32_t /*flip*/,bool overlay,bool trans)
2289 {
2290 /*
2291 /- -- -- -\
2292 | |
2293 | |
2294 \_ __ __ _/
2295
2296 0 1 4 5
2297 2 3 6 7
2298 80 81 84 85
2299 82 83 86 87
2300 */
2301 if(tile==0&&misc)
2302 {
2303 tile = misc->colors.blueframe_tile;
2304 }
2305
2306 int32_t t8 = tile<<2;
2307
2308 unsigned char alpha = trans ? 128 : 255;
2309
2310 for(int32_t dx=0; dx<w; dx++)
2311 {
2312 int32_t top = (dx >= (w>>1)) ? ((dx==w-1) ? t8+5 : t8+4) : ((dx==0) ? t8 : t8+1);
2313 int32_t bottom = (dx >= (w>>1)) ? ((dx==w-1) ? t8+87 : t8+86) : ((dx==0) ? t8+82 : t8+83);
2314
2315 a5_draw_tile8((dx<<3)+x,y,top,cset,0,overlay,alpha);
2316 a5_draw_tile8((dx<<3)+x,((h-1)<<3)+y,bottom,cset,0,overlay,alpha);
2317 }
2318
2319 for(int32_t dy=1; dy<h-1; dy++)
2320 {
2321 int32_t left = (dy >= (h>>1)) ? t8+80 : t8+2;
2322 int32_t right = (dy >= (h>>1)) ? t8+85 : t8+7;
2323
2324 a5_draw_tile8(x,(dy<<3)+y,left,cset,0,overlay,alpha);
2325 a5_draw_tile8(((w-1)<<3)+x,(dy<<3)+y,right,cset,0,overlay,alpha);
2326
2327 for(int32_t dx=1; dx<w-1; dx++)
2328 {
2329 int32_t fill = (dy >= (h>>1)) ? ((dx >= (w>>1)) ? t8+84 : t8+81) : ((dx >= (w>>1)) ? t8+6 : t8+3);
2330 a5_draw_tile8((dx<<3)+x,(dy<<3)+y,fill,cset,0,overlay,alpha);
2331 }
2332 }
2333 }
2334
2335 2148621 void drawgrid(BITMAP *dest,int32_t x,int32_t y,int32_t c1,int32_t c2)
2336 {
2337 2148621 int32_t si=0;
2338
2339
2/2
✓ Branch 0 taken 17188968 times.
✓ Branch 1 taken 2148621 times.
19337589 for(int32_t y2=0; y2<=7; ++y2)
2340 {
2341 17188968 byte dl = DMaps[get_currdmap()].grid[si];
2342
2343
2/2
✓ Branch 0 taken 137511744 times.
✓ Branch 1 taken 17188968 times.
154700712 for(int32_t x2=0; x2<=7; ++x2)
2344 {
2345
2/2
✓ Branch 0 taken 15707392 times.
✓ Branch 1 taken 121804352 times.
137511744 if(c2==-1)
2346 {
2347
2/2
✓ Branch 0 taken 63941379 times.
✓ Branch 1 taken 57862973 times.
121804352 if(dl&0x80)
2348 57862973 rectfill(dest,(x2*8)+x,(y2*4)+y,(x2*8)+x+6,(y2*4)+y+2,c1);
2349 121804352 }
2350 else
2351 {
2352 15707392 rectfill(dest,(x2*8)+x,(y2*4)+y,(x2*8)+x+6,(y2*4)+y+2,c2);
2353
2354
1/2
✓ Branch 0 taken 15707392 times.
✗ Branch 1 not taken.
15707392 if(dl&0x80)
2355 rectfill(dest,(x2*8)+x+2,(y2*4)+y,(x2*8)+x+4,(y2*4)+y+2,c1);
2356 }
2357
2358 137511744 dl<<=1;
2359 137511744 }
2360
2361 17188968 ++si;
2362 17188968 }
2363 2148621 }
2364
2365 2286134 void draw_block(BITMAP *dest,int32_t x,int32_t y,int32_t tile,int32_t cset,int32_t w,int32_t h)
2366 {
2367
2/2
✓ Branch 0 taken 6858402 times.
✓ Branch 1 taken 2286134 times.
9144536 for(int32_t j=0; j<h; j++)
2368
2/2
✓ Branch 0 taken 34369230 times.
✓ Branch 1 taken 6858402 times.
41227632 for(int32_t i=0; i<w; i++)
2369 41227632 overtile16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0);
2370 2286134 }
2371
2372 13084274 void draw_block_flip(BITMAP *dest,int32_t x,int32_t y,int32_t tile,int32_t cset,int32_t w,int32_t h,int32_t flip,bool overlay,bool trans)
2373 {
2374
2/2
✓ Branch 0 taken 13061297 times.
✓ Branch 1 taken 22977 times.
13084274 if(overlay)
2375 {
2376
1/5
✗ Branch 0 not taken.
✓ Branch 1 taken 13061297 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
13061297 switch(flip&3)
2377 {
2378 case 0:
2379
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 13061297 times.
13061297 if(trans)
2380 {
2381 for(int32_t j=0; j<h; j++)
2382 {
2383 for(int32_t i=0; i<w; i++)
2384 {
2385 overtiletranslucent16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0,255-trans);
2386 }
2387 }
2388 }
2389 else
2390 {
2391
2/2
✓ Branch 0 taken 15306933 times.
✓ Branch 1 taken 13061297 times.
28368230 for(int32_t j=0; j<h; j++)
2392 {
2393
2/2
✓ Branch 0 taken 40578694 times.
✓ Branch 1 taken 15306933 times.
55885627 for(int32_t i=0; i<w; i++)
2394 {
2395 40578694 overtile16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0);
2396 40578694 }
2397 15306933 }
2398 }
2399
2400 13061297 break;
2401
2402 case 1: //horizontal
2403 if(trans)
2404 {
2405 for(int32_t j=0; j<h; j++)
2406 {
2407 for(int32_t i=0; i<w; i++)
2408 {
2409 overtiletranslucent16(dest,tile+j*20+(w-i-1),x+(i<<4),y+(j<<4),cset,1,255-trans);
2410 }
2411 }
2412 }
2413 else
2414 {
2415 for(int32_t j=0; j<h; j++)
2416 {
2417 for(int32_t i=0; i<w; i++)
2418 {
2419 overtile16(dest,tile+j*20+(w-i-1),x+(i<<4),y+(j<<4),cset,1);
2420 }
2421 }
2422 }
2423
2424 break;
2425
2426 case 2:
2427 if(trans)
2428 {
2429 for(int32_t j=0; j<h; j++)
2430 {
2431 for(int32_t i=0; i<w; i++)
2432 {
2433 overtiletranslucent16(dest,tile+(h-j-1)*20+i,x+(i<<4),y+(j<<4),cset,2,255-trans);
2434 }
2435 }
2436 }
2437 else
2438 {
2439 for(int32_t j=0; j<h; j++)
2440 {
2441 for(int32_t i=0; i<w; i++)
2442 {
2443 overtile16(dest,tile+(h-j-1)*20+i,x+(i<<4),y+(j<<4),cset,2);
2444 }
2445 }
2446 }
2447
2448 break;
2449
2450 case 3:
2451 if(trans)
2452 {
2453 for(int32_t j=0; j<h; j++)
2454 {
2455 for(int32_t i=0; i<w; i++)
2456 {
2457 overtiletranslucent16(dest,tile+(h-j-1)*20+(w-i-1),x+(i<<4),y+(j<<4),cset,3,255-trans);
2458 }
2459 }
2460 }
2461 else
2462 {
2463 for(int32_t j=0; j<h; j++)
2464 {
2465 for(int32_t i=0; i<w; i++)
2466 {
2467 overtile16(dest,tile+(h-j-1)*20+(w-i-1),x+(i<<4),y+(j<<4),cset,3);
2468 }
2469 }
2470 }
2471
2472 break;
2473 }
2474 13061297 }
2475 else
2476 {
2477
1/5
✗ Branch 0 not taken.
✓ Branch 1 taken 22977 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
22977 switch(flip&3)
2478 {
2479 case 0:
2480
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 22977 times.
22977 if(trans)
2481 {
2482 for(int32_t j=0; j<h; j++)
2483 {
2484 for(int32_t i=0; i<w; i++)
2485 {
2486 puttiletranslucent16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0,255-trans);
2487 }
2488 }
2489 }
2490 else
2491 {
2492
2/2
✓ Branch 0 taken 118148 times.
✓ Branch 1 taken 22977 times.
141125 for(int32_t j=0; j<h; j++)
2493 {
2494
2/2
✓ Branch 0 taken 708888 times.
✓ Branch 1 taken 118148 times.
827036 for(int32_t i=0; i<w; i++)
2495 {
2496 708888 oldputtile16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0);
2497 708888 }
2498 118148 }
2499 }
2500
2501 22977 break;
2502
2503 case 1: //horizontal
2504 if(trans)
2505 {
2506 for(int32_t j=0; j<h; j++)
2507 {
2508 for(int32_t i=0; i<w; i++)
2509 {
2510 puttiletranslucent16(dest,tile+j*20+(w-i-1),x+(i<<4),y+(j<<4),cset,1,255-trans);
2511 }
2512 }
2513 }
2514 else
2515 {
2516 for(int32_t j=0; j<h; j++)
2517 {
2518 for(int32_t i=0; i<w; i++)
2519 {
2520 oldputtile16(dest,tile+j*20+(w-i-1),x+(i<<4),y+(j<<4),cset,1);
2521 }
2522 }
2523 }
2524
2525 break;
2526
2527 case 2:
2528 if(trans)
2529 {
2530 for(int32_t j=0; j<h; j++)
2531 {
2532 for(int32_t i=0; i<w; i++)
2533 {
2534 puttiletranslucent16(dest,tile+(h-j-1)*20+i,x+(i<<4),y+(j<<4),cset,2,255-trans);
2535 }
2536 }
2537 }
2538 else
2539 {
2540 for(int32_t j=0; j<h; j++)
2541 {
2542 for(int32_t i=0; i<w; i++)
2543 {
2544 oldputtile16(dest,tile+(h-j-1)*20+i,x+(i<<4),y+(j<<4),cset,2);
2545 }
2546 }
2547 }
2548
2549 break;
2550
2551 case 3:
2552 if(trans)
2553 {
2554 for(int32_t j=0; j<h; j++)
2555 {
2556 for(int32_t i=0; i<w; i++)
2557 {
2558 puttiletranslucent16(dest,tile+(h-j-1)*20+(w-i-1),x+(i<<4),y+(j<<4),cset,3,255-trans);
2559 }
2560 }
2561 }
2562 else
2563 {
2564 for(int32_t j=0; j<h; j++)
2565 {
2566 for(int32_t i=0; i<w; i++)
2567 {
2568 oldputtile16(dest,tile+(h-j-1)*20+(w-i-1),x+(i<<4),y+(j<<4),cset,3);
2569 }
2570 }
2571 }
2572
2573 break;
2574 }
2575 }
2576 13084274 }
2577
2578 5587510 void drawdmap(BITMAP *dest, miscQdata *misc, int32_t x, int32_t y, bool showmap, int32_t showhero, int32_t showcompass, int32_t herocolor, int32_t lccolor, int32_t dccolor)
2579 {
2580 5587510 zcolors c=misc->colors;
2581 5587510 int32_t type = (DMaps[get_currdmap()].type&dmfTYPE);
2582
2583
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 5587510 times.
5587510 if(showmap)
2584 {
2585
2/3
✓ Branch 0 taken 1729265 times.
✓ Branch 1 taken 3858245 times.
✗ Branch 2 not taken.
5587510 switch(type)
2586 {
2587 case dmOVERW:
2588 case dmBSOVERW:
2589 {
2590
3/4
✓ Branch 0 taken 31461 times.
✓ Branch 1 taken 1697804 times.
✓ Branch 2 taken 31461 times.
✗ Branch 3 not taken.
1729265 int32_t maptile=(!get_bit(quest_rules, qr_BROKEN_OVERWORLD_MINIMAP) && has_item(itype_map, get_dlevel()))?DMaps[get_currdmap()].minimap_2_tile:DMaps[get_currdmap()].minimap_1_tile;
2591
3/4
✓ Branch 0 taken 31461 times.
✓ Branch 1 taken 1697804 times.
✓ Branch 2 taken 31461 times.
✗ Branch 3 not taken.
1729265 int32_t mapcset=(!get_bit(quest_rules, qr_BROKEN_OVERWORLD_MINIMAP) && has_item(itype_map, get_dlevel()))?DMaps[get_currdmap()].minimap_2_cset:DMaps[get_currdmap()].minimap_1_cset;
2592 //What a mess. The map drawing is based on a variable that can change states during a scrolling transition when warping. -Z
2593
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1729265 times.
1729265 if(maptile)
2594 {
2595 draw_block(dest,x,y,maptile,mapcset,5,3);
2596 }
2597
3/4
✓ Branch 0 taken 748976 times.
✓ Branch 1 taken 980289 times.
✓ Branch 2 taken 748976 times.
✗ Branch 3 not taken.
1729265 else if(c.overworld_map_tile || c.overworld_map_tile)
2598 {
2599
1/2
✓ Branch 0 taken 980289 times.
✗ Branch 1 not taken.
980289 draw_block(dest,x,y,(c.overworld_map_tile!=0?c.overworld_map_tile:c.overworld_map_tile),c.overworld_map_cset,5,3);
2600 980289 }
2601 else
2602 {
2603 748976 rectfill(dest,x+8,y+8,x+71,y+39,c.overw_bg);
2604 }
2605
2606
3/4
✓ Branch 0 taken 1729265 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1483837 times.
✓ Branch 3 taken 245428 times.
1729265 if(!DMaps[get_currdmap()].minimap_1_tile && ((DMaps[get_currdmap()].type&dmfTYPE) == dmBSOVERW))
2607 {
2608 245428 drawgrid(dest,x+8,y+8,c.bs_goal,c.bs_dk);
2609 245428 }
2610
2611 1729265 break;
2612 }
2613 case dmDNGN:
2614 case dmCAVE:
2615 {
2616
2/2
✓ Branch 0 taken 1903193 times.
✓ Branch 1 taken 1955052 times.
3858245 int32_t maptile=has_item(itype_map, get_dlevel())?DMaps[get_currdmap()].minimap_2_tile:DMaps[get_currdmap()].minimap_1_tile;
2617
2/2
✓ Branch 0 taken 1903193 times.
✓ Branch 1 taken 1955052 times.
3858245 int32_t mapcset=has_item(itype_map, get_dlevel())?DMaps[get_currdmap()].minimap_2_cset:DMaps[get_currdmap()].minimap_1_cset;
2618 //What a mess. The map drawing is based on a variable that can change states during a scrolling transition when warping. -Z
2619
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3858245 times.
3858245 if(maptile)
2620 {
2621 draw_block(dest,x,y,maptile,mapcset,5,3);
2622 }
2623
3/4
✓ Branch 0 taken 2578140 times.
✓ Branch 1 taken 1280105 times.
✓ Branch 2 taken 2578140 times.
✗ Branch 3 not taken.
3858245 else if(c.dungeon_map_tile||c.dungeon_map_tile)
2624 {
2625
1/2
✓ Branch 0 taken 1280105 times.
✗ Branch 1 not taken.
1280105 draw_block(dest,x,y,(c.dungeon_map_tile!=0?c.dungeon_map_tile:c.dungeon_map_tile),c.dungeon_map_cset,5,3);
2626 1280105 }
2627 else
2628 {
2629 2578140 rectfill(dest,x+8,y+8,x+71,y+39,c.dngn_bg);
2630 }
2631 //Marking this as a possible area for the scrolling warp map bug reported by Lut. -Z
2632
3/4
✓ Branch 0 taken 3858245 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1955052 times.
✓ Branch 3 taken 1903193 times.
3858245 if(!DMaps[get_currdmap()].minimap_2_tile && has_item(itype_map, get_dlevel()))
2633 {
2634
2/2
✓ Branch 0 taken 31399 times.
✓ Branch 1 taken 1871794 times.
1903193 if((DMaps[get_currdmap()].flags&dmfMINIMAPCOLORFIX) != 0)
2635 {
2636 31399 drawgrid(dest,x+8,y+8,c.cave_fg,-1);
2637 31399 }
2638 else
2639 {
2640 1871794 drawgrid(dest,x+8,y+8,c.dngn_fg,-1);
2641 }
2642 1903193 }
2643
2644 3858245 break;
2645 }
2646 }
2647 5587510 }
2648
2649
1/2
✓ Branch 0 taken 5587510 times.
✗ Branch 1 not taken.
5587510 if(showcompass)
2650 {
2651
4/4
✓ Branch 0 taken 1908187 times.
✓ Branch 1 taken 3679323 times.
✓ Branch 2 taken 178922 times.
✓ Branch 3 taken 1729265 times.
5587510 if(type==dmDNGN || type==dmCAVE)
2652 {
2653
4/4
✓ Branch 0 taken 3854965 times.
✓ Branch 1 taken 3280 times.
✓ Branch 2 taken 1675268 times.
✓ Branch 3 taken 2179697 times.
3858245 if(show_subscreen_dmap_dots&&has_item(itype_compass, get_dlevel()))
2654 {
2655 2179697 int32_t c2 = dccolor;
2656
2657
4/4
✓ Branch 0 taken 2011808 times.
✓ Branch 1 taken 167889 times.
✓ Branch 2 taken 1013551 times.
✓ Branch 3 taken 998257 times.
2179697 if(!has_item(itype_triforcepiece, get_dlevel()) && (frame&16))
2658 998257 c2 = lccolor;
2659
2660 2179697 int32_t cx = ((DMaps[get_currdmap()].compass&15)<<3)+x+10;
2661 2179697 int32_t cy = ((DMaps[get_currdmap()].compass&0xF0)>>2)+y+8;
2662 2179697 putdot(dest,cx,cy,c2);
2663 2179697 }
2664 3858245 }
2665 5587510 }
2666
2667
1/2
✓ Branch 0 taken 5587510 times.
✗ Branch 1 not taken.
5587510 if(showhero)
2668 {
2669
4/4
✓ Branch 0 taken 5579670 times.
✓ Branch 1 taken 7840 times.
✓ Branch 2 taken 32 times.
✓ Branch 3 taken 5579638 times.
5587510 if(show_subscreen_dmap_dots && herocolor != 255)
2670 {
2671
2/2
✓ Branch 0 taken 1479275 times.
✓ Branch 1 taken 4100363 times.
5579638 if(type==dmOVERW)
2672 {
2673 1479275 putdot(dest,((get_homescr()&15)<<2)+x+9,((get_homescr()&0xF0)>>2)+y+8,herocolor);
2674 1479275 }
2675
6/6
✓ Branch 0 taken 3854940 times.
✓ Branch 1 taken 245423 times.
✓ Branch 2 taken 178922 times.
✓ Branch 3 taken 3676018 times.
✓ Branch 4 taken 3656941 times.
✓ Branch 5 taken 197999 times.
4100363 else if(type==dmBSOVERW || ((type==dmDNGN || type==dmCAVE) && get_currscr()<128))
2676 {
2677 3902364 putdot(dest,(((get_homescr()&15)-DMaps[get_currdmap()].xoff)<<3)+x+10,((get_homescr()&0xF0)>>2)+y+8,herocolor);
2678 3902364 }
2679 5579638 }
2680 5587510 }
2681 5587510 }
2682
2683 5024977 void lifemeter(BITMAP *dest,int32_t x,int32_t y,int32_t cs,bool bs_style)
2684 {
2685
2/2
✓ Branch 0 taken 5016049 times.
✓ Branch 1 taken 8928 times.
5024977 if(!show_subscreen_life)
2686 {
2687 8928 return;
2688 }
2689
2690
2/2
✓ Branch 0 taken 1380667 times.
✓ Branch 1 taken 3635382 times.
5016049 if(!bs_style)
2691 {
2692 3635382 y+=24;
2693 3635382 }
2694 5016049 int32_t tile = 0;
2695 5016049 const int32_t basetile = wpnsbuf[iwQuarterHearts].tile;
2696
2/4
✓ Branch 0 taken 5016049 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 5016049 times.
✗ Branch 3 not taken.
5016049 const int32_t max_iter = (game != NULL ? zc_min(game->get_maxlife(),game->get_hp_per_heart()*24) : 1);
2697
1/2
✓ Branch 0 taken 5016049 times.
✗ Branch 1 not taken.
5016049 const int32_t inc = (game != NULL ? game->get_hp_per_heart() : 16);
2698
2699
2/2
✓ Branch 0 taken 5016049 times.
✓ Branch 1 taken 56721802 times.
61737851 for(int32_t i=0; i<max_iter; i+=inc)
2700 {
2701
1/2
✓ Branch 0 taken 56721802 times.
✗ Branch 1 not taken.
56721802 if(game != NULL)
2702 {
2703
2/2
✓ Branch 0 taken 22212507 times.
✓ Branch 1 taken 34509295 times.
56721802 if(get_bit(quest_rules,qr_QUARTERHEART))
2704 {
2705
2/2
✓ Branch 0 taken 18845172 times.
✓ Branch 1 taken 3367335 times.
22212507 if(i+((game->get_hp_per_heart()/4)*3)>=game->get_life()) tile= (basetile*4)+2;
2706
2707
2/2
✓ Branch 0 taken 19077940 times.
✓ Branch 1 taken 3134567 times.
22212507 if(i+(game->get_hp_per_heart()/2)>=game->get_life()) tile=1;
2708
2709
2/2
✓ Branch 0 taken 19496098 times.
✓ Branch 1 taken 2716409 times.
22212507 if(i+((game->get_hp_per_heart()/4)*1)>=game->get_life()) tile= (basetile*4)+3;
2710 22212507 }
2711
2/2
✓ Branch 0 taken 26838819 times.
✓ Branch 1 taken 7670476 times.
34509295 else if(i+(game->get_hp_per_heart()/2)>=game->get_life()) tile=1;
2712
2713
2/2
✓ Branch 0 taken 47441075 times.
✓ Branch 1 taken 9280727 times.
56721802 if(i>=game->get_life()) tile=4;
2714 56721802 }
2715 else
2716 tile=4;
2717
2718 56721802 overtile8(dest,tile,x,y,cs,0);
2719 56721802 x+=8;
2720
2721
2/2
✓ Branch 0 taken 51789884 times.
✓ Branch 1 taken 4931918 times.
56721802 if(((i>>4)&7)==7)
2722 {
2723 4931918 x-=64;
2724 4931918 y+=bs_style?8:-8;
2725 4931918 }
2726 56721802 }
2727 5024977 }
2728
2729 9563061 void magicgauge(BITMAP *dest,int32_t x,int32_t y, int32_t container, int32_t notlast_tile, int32_t notlast_cset, bool notlast_mod, int32_t last_tile, int32_t last_cset, bool last_mod,
2730 int32_t cap_tile, int32_t cap_cset, bool cap_mod, int32_t aftercap_tile, int32_t aftercap_cset, bool aftercap_mod, int32_t frames, int32_t speed, int32_t delay, bool unique_last, int32_t show)
2731 {
2732 //these are here to bypass compiler warnings about unused arguments
2733 9563061 frames=frames;
2734 9563061 speed=speed;
2735 9563061 delay=delay;
2736
2737 // show
2738 // <0: always
2739 // >=0: when drain rate matches show
2740
2/2
✓ Branch 0 taken 9000528 times.
✓ Branch 1 taken 562533 times.
9563061 if(show > -1)
2741 {
2742
1/2
✓ Branch 0 taken 562533 times.
✗ Branch 1 not taken.
562533 if(show != game->get_magicdrainrate())
2743 562533 return;
2744 }
2745
2746 9000528 int32_t containers=game->get_maxmagic()/game->get_mp_per_block();
2747 9000528 int32_t tile=zc_oldrand()%32767, cset=zc_oldrand()%15;
2748 9000528 bool mod_value=(zc_oldrand()%2)!=0;
2749
2750
2/2
✓ Branch 0 taken 3223438 times.
✓ Branch 1 taken 5777090 times.
9000528 if(container<containers)
2751 {
2752 3223438 tile=notlast_tile;
2753 3223438 cset=notlast_cset;
2754 3223438 mod_value=notlast_mod;
2755 3223438 }
2756
2/2
✓ Branch 0 taken 464672 times.
✓ Branch 1 taken 5312418 times.
5777090 else if(container==containers)
2757 {
2758 464672 tile=last_tile;
2759 464672 cset=last_cset;
2760 464672 mod_value=last_mod;
2761 464672 }
2762
2/2
✓ Branch 0 taken 562533 times.
✓ Branch 1 taken 4749885 times.
5312418 else if(container==containers+1)
2763 {
2764 562533 tile=cap_tile;
2765 562533 cset=cap_cset;
2766 562533 mod_value=cap_mod;
2767 562533 }
2768 else //if (container>containers+1)
2769 {
2770 4749885 tile=aftercap_tile;
2771 4749885 cset=aftercap_cset;
2772 4749885 mod_value=aftercap_mod;
2773 }
2774
2775
2/2
✓ Branch 0 taken 5312418 times.
✓ Branch 1 taken 3688110 times.
9000528 if(mod_value)
2776 {
2777
2/2
✓ Branch 0 taken 3344494 times.
✓ Branch 1 taken 343616 times.
3688110 if(game->get_magic()>=container*game->get_mp_per_block())
2778 {
2779 //tile=tile; //full block
2780
2/2
✓ Branch 0 taken 3092439 times.
✓ Branch 1 taken 252055 times.
3344494 if(game->get_magic()==container*game->get_mp_per_block())
2781 {
2782
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 252055 times.
252055 if(unique_last)
2783 {
2784 tile+=game->get_mp_per_block()+3;
2785 }
2786 252055 }
2787 3344494 }
2788 else
2789 {
2790
2/2
✓ Branch 0 taken 119468 times.
✓ Branch 1 taken 224148 times.
343616 if(((container-1)*game->get_mp_per_block())>game->get_magic())
2791 {
2792 119468 tile+=4; //empty block
2793 119468 }
2794 else
2795 {
2796 224148 tile+=4+((game->get_magic()-((container-1)*game->get_mp_per_block()))%game->get_mp_per_block());
2797 }
2798 }
2799 3688110 }
2800
2801 //tile=14161*4;
2802 9000528 overtile8(dest,tile,x,y,cset,0);
2803
2804 9563061 }
2805
2806 18789032 void lifegauge(BITMAP *dest,int32_t x,int32_t y, int32_t container, int32_t notlast_tile, int32_t notlast_cset, bool notlast_mod, int32_t last_tile, int32_t last_cset, bool last_mod,
2807 int32_t cap_tile, int32_t cap_cset, bool cap_mod, int32_t aftercap_tile, int32_t aftercap_cset, bool aftercap_mod, int32_t frames, int32_t speed, int32_t delay, bool unique_last)
2808 {
2809 //these are here to bypass compiler warnings about unused arguments
2810 18789032 frames=frames;
2811 18789032 speed=speed;
2812 18789032 delay=delay;
2813
2814 18789032 int32_t containers=game->get_maxlife()/game->get_hp_per_heart();
2815 18789032 int32_t tile=zc_oldrand()%32767, cset=zc_oldrand()%15;
2816 18789032 bool mod_value=(zc_oldrand()%2)!=0;
2817
2818
2/2
✓ Branch 0 taken 5779387 times.
✓ Branch 1 taken 13009645 times.
18789032 if(container<containers)
2819 {
2820 5779387 tile=notlast_tile;
2821 5779387 cset=notlast_cset;
2822 5779387 mod_value=notlast_mod;
2823 5779387 }
2824
2/2
✓ Branch 0 taken 1221641 times.
✓ Branch 1 taken 11788004 times.
13009645 else if(container==containers)
2825 {
2826 1221641 tile=last_tile;
2827 1221641 cset=last_cset;
2828 1221641 mod_value=last_mod;
2829 1221641 }
2830
2/2
✓ Branch 0 taken 1124617 times.
✓ Branch 1 taken 10663387 times.
11788004 else if(container==containers+1)
2831 {
2832 1124617 tile=cap_tile;
2833 1124617 cset=cap_cset;
2834 1124617 mod_value=cap_mod;
2835 1124617 }
2836 else //if (container>containers+1)
2837 {
2838 10663387 tile=aftercap_tile;
2839 10663387 cset=aftercap_cset;
2840 10663387 mod_value=aftercap_mod;
2841 }
2842
2843
2/2
✓ Branch 0 taken 11788004 times.
✓ Branch 1 taken 7001028 times.
18789032 if(mod_value)
2844 {
2845
2/2
✓ Branch 0 taken 5722193 times.
✓ Branch 1 taken 1278835 times.
7001028 if(game->get_life()>=container*game->get_hp_per_heart())
2846 {
2847 //tile=tile; //full block
2848
2/2
✓ Branch 0 taken 4874929 times.
✓ Branch 1 taken 847264 times.
5722193 if(game->get_life()==container*game->get_hp_per_heart())
2849 {
2850
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 847264 times.
847264 if(unique_last)
2851 {
2852 tile+=game->get_hp_per_heart()+3;
2853 }
2854 847264 }
2855 5722193 }
2856 else
2857 {
2858
2/2
✓ Branch 0 taken 816511 times.
✓ Branch 1 taken 462324 times.
1278835 if(((container-1)*game->get_hp_per_heart())>game->get_life())
2859 {
2860 816511 tile+=4; //empty block
2861 816511 }
2862 else
2863 {
2864 462324 tile+=4+((game->get_life()-((container-1)*game->get_hp_per_heart()))%game->get_hp_per_heart());
2865 }
2866 }
2867 7001028 }
2868
2869 18789032 overtile8(dest,tile,x,y,cset,0);
2870
2871 18789032 }
2872
2873
2874 1653516 void magicmeter(BITMAP *dest,int32_t x,int32_t y)
2875 {
2876
1/2
✓ Branch 0 taken 1653516 times.
✗ Branch 1 not taken.
1653516 if(!get_bit(quest_rules,qr_ENABLEMAGIC)) return;
2877
2878
2/2
✓ Branch 0 taken 1564457 times.
✓ Branch 1 taken 89059 times.
1653516 if(game->get_maxmagic()==0) return;
2879
2880 int32_t tile;
2881 1564457 int32_t mmtile=wpnsbuf[iwMMeter].tile;
2882 1564457 int32_t mmcset=wpnsbuf[iwMMeter].csets&15;
2883 1564457 overtile8(dest,(mmtile*4)+2,x-8,y,mmcset,0);
2884
2885
2/2
✓ Branch 0 taken 871195 times.
✓ Branch 1 taken 693262 times.
1564457 if(game->get_magicdrainrate()==1)
2886 {
2887 871195 overtile8(dest,(mmtile*4)+1,x-10,y,mmcset,0);
2888 871195 }
2889
2890
2/2
✓ Branch 0 taken 4114456 times.
✓ Branch 1 taken 1564457 times.
5678913 for(int32_t i=0; i<game->get_maxmagic(); i+=game->get_mp_per_block())
2891 {
2892
2/2
✓ Branch 0 taken 2898360 times.
✓ Branch 1 taken 1216096 times.
4114456 if(game->get_magic()>=i+game->get_mp_per_block())
2893 {
2894 2898360 tile=mmtile*4; //full block
2895 2898360 }
2896 else
2897 {
2898
2/2
✓ Branch 0 taken 251981 times.
✓ Branch 1 taken 964115 times.
1216096 if(i>game->get_magic())
2899 {
2900 251981 tile=((mmtile+1)*4); //empty block
2901 251981 }
2902 else
2903 {
2904 964115 tile=((mmtile+1)*4)+((game->get_magic()-i)%game->get_mp_per_block());
2905 }
2906 }
2907
2908 4114456 overtile8(dest,tile,x,y,mmcset,0);
2909 4114456 x+=8;
2910 4114456 }
2911
2912 1564457 overtile8(dest,(mmtile*4)+3,x,y,mmcset,0);
2913
2914 1653516 }
2915
2916 12657214 void putxnum(BITMAP *dest,int32_t x,int32_t y,int32_t num,FONT *tempfont,int32_t color,int32_t shadowcolor,int32_t bgcolor,int32_t textstyle,bool usex,int32_t digits,bool infinite,char idigit)
2917 {
2918
2/2
✓ Branch 0 taken 26784 times.
✓ Branch 1 taken 12630430 times.
12657214 if(!show_subscreen_numbers)
2919 {
2920 26784 return;
2921 }
2922
2923 12630430 int32_t found_digits=5;
2924
2925
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 12630430 times.
12630430 if(num<10000)
2926 {
2927 12630430 found_digits=4;
2928 12630430 }
2929
2930
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 12630430 times.
12630430 if(num<1000)
2931 {
2932 12630430 found_digits=3;
2933 12630430 }
2934
2935
2/2
✓ Branch 0 taken 2641936 times.
✓ Branch 1 taken 9988494 times.
12630430 if(num<100)
2936 {
2937 9988494 found_digits=2;
2938 9988494 }
2939
2940
2/2
✓ Branch 0 taken 5619053 times.
✓ Branch 1 taken 7011377 times.
12630430 if(num<10)
2941 {
2942 7011377 found_digits=1;
2943 7011377 }
2944
2945
2/2
✓ Branch 0 taken 624062 times.
✓ Branch 1 taken 12006368 times.
12630430 if(infinite)
2946 {
2947 624062 textprintf_styled_aligned_ex(dest,tempfont,x,y,textstyle,sstaLEFT,color,shadowcolor,bgcolor,"%s%c",usex?"X":"",idigit);
2948 624062 }
2949 else
2950 {
2951
1/2
✓ Branch 0 taken 12006368 times.
✗ Branch 1 not taken.
12006368 textprintf_styled_aligned_ex(dest,tempfont,x,y,textstyle,sstaLEFT,color,shadowcolor,bgcolor,"%s%d",(usex && found_digits<digits)?"X":"",num);
2952 }
2953 12657214 }
2954
2955 /*
2956 INLINE void putdot(BITMAP *dest,int32_t x,int32_t y,int32_t c)
2957 {
2958 rectfill(dest,x,y,x+2,y+2,c);
2959 }
2960 */
2961
2962 /**** Subscr items code ****/
2963
2964 item *Bitem = NULL, *Aitem = NULL, *Yitem = NULL, *Xitem = NULL;
2965 int32_t Bid = 0, Aid = 0, Xid = 0, Yid = 0;
2966
2967 94 void reset_subscr_items()
2968 {
2969
2/2
✓ Branch 0 taken 26 times.
✓ Branch 1 taken 68 times.
94 if(Aitem)
2970 {
2971
1/2
✓ Branch 0 taken 68 times.
✗ Branch 1 not taken.
68 delete Aitem;
2972 68 Aitem = NULL;
2973 68 }
2974
2975
2/2
✓ Branch 0 taken 28 times.
✓ Branch 1 taken 66 times.
94 if(Bitem)
2976 {
2977
1/2
✓ Branch 0 taken 66 times.
✗ Branch 1 not taken.
66 delete Bitem;
2978 66 Bitem = NULL;
2979 66 }
2980
2/2
✓ Branch 0 taken 93 times.
✓ Branch 1 taken 1 times.
94 if(Yitem)
2981 {
2982
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 delete Yitem;
2983 1 Yitem = NULL;
2984 1 }
2985
2986
2/2
✓ Branch 0 taken 93 times.
✓ Branch 1 taken 1 times.
94 if(Xitem)
2987 {
2988
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 delete Xitem;
2989 1 Xitem = NULL;
2990 1 }
2991
2992 94 Aid = Bid = Yid = Xid = 0;
2993 94 }
2994
2995
2996 6303104 void update_subscr_items()
2997 {
2998
2/2
✓ Branch 0 taken 6296917 times.
✓ Branch 1 taken 6187 times.
6303104 if(Bid != Bwpn)
2999 {
3000 6187 Bid = 0;
3001
3002
2/2
✓ Branch 0 taken 86 times.
✓ Branch 1 taken 6101 times.
6187 if(Bitem)
3003 {
3004
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 6101 times.
6101 delete Bitem;
3005 6101 Bitem = NULL;
3006 6101 }
3007
3008
2/2
✓ Branch 0 taken 4 times.
✓ Branch 1 taken 6183 times.
6187 if(Bwpn > 0)
3009 {
3010
4/8
✓ Branch 0 taken 6183 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 6183 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 6183 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 6183 times.
✗ Branch 7 not taken.
6183 Bitem = new item((zfix)0, (zfix)0, (zfix)0, Bwpn&0x0FFF, 0, 0);
3011 6183 Bitem->dummy_bool[0]=false;
3012
3013
2/2
✓ Branch 0 taken 5367 times.
✓ Branch 1 taken 816 times.
6183 switch(itemsbuf[Bwpn&0x0FFF].family)
3014 {
3015 case itype_arrow:
3016
1/2
✓ Branch 0 taken 816 times.
✗ Branch 1 not taken.
816 if((Bwpn&0xF000)==0xF000)
3017 {
3018 Bitem->dummy_bool[0]=true;
3019 }
3020
3021 816 break;
3022 //default: break;
3023 }
3024
3025 // Bitem = new item((zfix)(zinit.subscreen<ssdtBSZELDA?124:136), (zfix)24,(zfix)0, Bwpn, 0, 0);
3026
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 6183 times.
6183 if(Bitem != NULL)
3027 {
3028 6183 Bid = Bwpn;
3029 6183 Bitem->yofs = 0;
3030 6183 Bitem->pickup |= ipDUMMY;
3031 6183 }
3032 6183 }
3033 6187 }
3034
3035
2/2
✓ Branch 0 taken 6302987 times.
✓ Branch 1 taken 117 times.
6303104 if(Aid != Awpn)
3036 {
3037 117 Aid = 0;
3038
3039
2/2
✓ Branch 0 taken 84 times.
✓ Branch 1 taken 33 times.
117 if(Aitem)
3040 {
3041
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 33 times.
33 delete Aitem;
3042 33 Aitem = NULL;
3043 33 }
3044
3045
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 117 times.
117 if(Awpn > 0)
3046 {
3047
4/8
✓ Branch 0 taken 117 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 117 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 117 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 117 times.
✗ Branch 7 not taken.
117 Aitem = new item((zfix)0, (zfix)0,(zfix)0,Awpn&0x0FFF, 0, 0);
3048
3049
1/2
✓ Branch 0 taken 117 times.
✗ Branch 1 not taken.
117 switch(itemsbuf[Awpn&0x0FFF].family)
3050 {
3051 case itype_arrow:
3052 if((Awpn&0xF000)==0xF000)
3053 {
3054 Aitem->dummy_bool[0]=true;
3055 }
3056
3057 break;
3058 //default: break;
3059 }
3060
3061
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 117 times.
117 if(Aitem != NULL)
3062 {
3063 117 Aid = Awpn;
3064 117 Aitem->yofs = 0;
3065 117 Aitem->pickup |= ipDUMMY;
3066 117 }
3067 117 }
3068 117 }
3069
3070
2/2
✓ Branch 0 taken 6303094 times.
✓ Branch 1 taken 10 times.
6303104 if(Xid != Xwpn)
3071 {
3072 10 Xid = 0;
3073
3074
2/2
✓ Branch 0 taken 6 times.
✓ Branch 1 taken 4 times.
10 if(Xitem)
3075 {
3076
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 4 times.
4 delete Xitem;
3077 4 Xitem = NULL;
3078 4 }
3079
3080
2/2
✓ Branch 0 taken 4 times.
✓ Branch 1 taken 6 times.
10 if(Xwpn > 0)
3081 {
3082
4/8
✓ Branch 0 taken 6 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 6 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 6 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 6 times.
✗ Branch 7 not taken.
6 Xitem = new item((zfix)0, (zfix)0,(zfix)0,Xwpn&0x0FFF, 0, 0);
3083
3084
1/2
✓ Branch 0 taken 6 times.
✗ Branch 1 not taken.
6 switch(itemsbuf[Xwpn&0x0FFF].family)
3085 {
3086 case itype_arrow:
3087 if((Xwpn&0xF000)==0xF000)
3088 {
3089 Xitem->dummy_bool[0]=true;
3090 }
3091
3092 break;
3093 //default: break;
3094 }
3095
3096
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 6 times.
6 if(Xitem != NULL)
3097 {
3098 6 Xid = Xwpn;
3099 6 Xitem->yofs = 0;
3100 6 Xitem->pickup |= ipDUMMY;
3101 6 }
3102 6 }
3103 10 }
3104
3105
2/2
✓ Branch 0 taken 6303085 times.
✓ Branch 1 taken 19 times.
6303104 if(Yid != Ywpn)
3106 {
3107 19 Yid = 0;
3108
3109
2/2
✓ Branch 0 taken 5 times.
✓ Branch 1 taken 14 times.
19 if(Yitem)
3110 {
3111
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 14 times.
14 delete Yitem;
3112 14 Yitem = NULL;
3113 14 }
3114
3115
2/2
✓ Branch 0 taken 3 times.
✓ Branch 1 taken 16 times.
19 if(Ywpn > 0)
3116 {
3117
4/8
✓ Branch 0 taken 16 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 16 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 16 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 16 times.
✗ Branch 7 not taken.
16 Yitem = new item((zfix)0, (zfix)0,(zfix)0,Ywpn&0x0FFF, 0, 0);
3118
3119
1/2
✓ Branch 0 taken 16 times.
✗ Branch 1 not taken.
16 switch(itemsbuf[Ywpn&0x0FFF].family)
3120 {
3121 case itype_arrow:
3122 if((Ywpn&0xF000)==0xF000)
3123 {
3124 Yitem->dummy_bool[0]=true;
3125 }
3126
3127 break;
3128 //default: break;
3129 }
3130
3131
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 16 times.
16 if(Yitem != NULL)
3132 {
3133 16 Yid = Ywpn;
3134 16 Yitem->yofs = 0;
3135 16 Yitem->pickup |= ipDUMMY;
3136 16 }
3137 16 }
3138 19 }
3139
3140
2/2
✓ Branch 0 taken 201598 times.
✓ Branch 1 taken 6101506 times.
6303104 if(Bitem)
3141 6101506 Bitem->animate(0);
3142
3143
2/2
✓ Branch 0 taken 207849 times.
✓ Branch 1 taken 6095255 times.
6303104 if(Aitem)
3144 6095255 Aitem->animate(0);
3145
3146
2/2
✓ Branch 0 taken 6276275 times.
✓ Branch 1 taken 26829 times.
6303104 if(Xitem)
3147 26829 Xitem->animate(0);
3148
3149
2/2
✓ Branch 0 taken 6226868 times.
✓ Branch 1 taken 76236 times.
6303104 if(Yitem)
3150 76236 Yitem->animate(0);
3151 6303104 }
3152
3153 450285 void add_subscr_item(item *newItem)
3154 {
3155 //al_trace("Adding a subscreen item, ID: %d\n",newItem->id); //Logging stuff to remove, later.
3156 450285 newItem->subscreenItem=true;
3157 450285 Sitems.add(newItem);
3158 450285 }
3159
3160 /****/
3161 11175020 int32_t stripspaces(char *source, char *target, int32_t stop)
3162 {
3163 int32_t begin, end;
3164
3165
4/4
✓ Branch 0 taken 5103718 times.
✓ Branch 1 taken 62294551 times.
✓ Branch 2 taken 56223249 times.
✓ Branch 3 taken 11175020 times.
67398269 for(begin=0; ((begin<stop)&&(source[begin]==' ')); ++begin)
3166 {
3167 /* do nothing */
3168 56223249 }
3169
3170
2/2
✓ Branch 0 taken 5103718 times.
✓ Branch 1 taken 6071302 times.
11175020 if(begin==stop)
3171 {
3172 5103718 return 0;
3173 }
3174
3175
2/2
✓ Branch 0 taken 13445387 times.
✓ Branch 1 taken 6071302 times.
19516689 for(end=stop-1; source[end]==' '; --end)
3176 {
3177 /* do nothing */
3178 13445387 }
3179
3180 6071302 sprintf(target, "%.*s", (end-begin+1), source+begin);
3181 6071302 return (end-begin+1);
3182 11175020 }
3183
3184 bool findWeaponWithParent(int32_t id, int32_t type)
3185 {
3186 for (int32_t q = Lwpns.Count()-1; q >= 0; --q)
3187 {
3188 weapon *ew = (weapon*)(Lwpns.spr(q));
3189 if (ew->id != type || ew->parentitem != id) continue;
3190 return true;
3191 }
3192 return false;
3193 }
3194
3195 int32_t countWeaponWithParent(int32_t id, int32_t type)
3196 {
3197 int32_t count = 0;
3198 for (int32_t q = Lwpns.Count()-1; q >= 0; --q)
3199 {
3200 weapon *ew = (weapon*)(Lwpns.spr(q));
3201 if (ew->id != type || ew->parentitem != id) continue;
3202 ++count;
3203 }
3204 return count;
3205 }
3206
3207 // The conditions on which a subcreen item should be displayed.
3208 3390402 bool displaysubscreenitem(int32_t itemtype, int32_t d, int32_t id)
3209 {
3210
1/2
✓ Branch 0 taken 3390402 times.
✗ Branch 1 not taken.
3390402 if(game==NULL) //ZQuest
3211 return true;
3212
2/2
✓ Branch 0 taken 176356 times.
✓ Branch 1 taken 3214046 times.
3390402 if (get_bit(quest_rules,qr_NEVERDISABLEAMMOONSUBSCREEN)) return true;
3213 //Okay, so the problem is that remote bombs are getting flagged with misc1 50, because
3214 //current item id is referring to your highest levelled item instead of the actual item.
3215 //Solution here is to have code for override items.
3216
2/2
✓ Branch 0 taken 1371 times.
✓ Branch 1 taken 3212675 times.
3214046 if (id < 0)
3217 {
3218
2/2
✓ Branch 0 taken 155949 times.
✓ Branch 1 taken 3056726 times.
3212675 if((itemtype == itype_bomb &&
3219 155949 !(game->get_bombs()
3220 // Remote Bombs: the bomb icon can still be used when an undetonated bomb is onscreen.
3221
3/4
✓ Branch 0 taken 1053 times.
✓ Branch 1 taken 154896 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 1053 times.
155949 || (itemsbuf[current_item_id(itype_bomb)].misc1==0 && Lwpns.idCount(wLitBomb)>0)
3222 1053 || current_item_power(itype_bombbag)))
3223
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 1053 times.
✓ Branch 2 taken 74636 times.
✓ Branch 3 taken 3136986 times.
3212675 || (itemtype == itype_sbomb &&
3224 74636 !(game->get_sbombs()
3225
3/4
✓ Branch 0 taken 23636 times.
✓ Branch 1 taken 51000 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 23636 times.
74636 || (itemsbuf[current_item_id(itype_sbomb)].misc1==0 && Lwpns.idCount(wLitSBomb)>0)
3226 23636 || (current_item_power(itype_bombbag)
3227
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 23636 times.
23636 && itemsbuf[current_item_id(itype_bombbag)].flags & ITEM_FLAG1))))
3228 24689 return false;
3229
3230
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3187986 times.
3187986 if(itemtype!=itype_bowandarrow ||
3231 d!=itype_arrow ||
3232 ((get_bit(quest_rules,qr_TRUEARROWS)&&game->get_arrows()) ||
3233 (!get_bit(quest_rules,qr_TRUEARROWS)&&game->get_rupies())))
3234 3187986 return true;
3235
3236 return false;
3237 }
3238 else
3239 {
3240
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1371 times.
1371 if((itemtype == itype_bomb &&
3241 !(game->get_bombs()
3242 // Remote Bombs: the bomb icon can still be used when an undetonated bomb is onscreen.
3243 || (itemsbuf[id].misc1==0 && findWeaponWithParent(id, wLitBomb))
3244 || current_item_power(itype_bombbag)))
3245
1/4
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1371 times.
1371 || (itemtype == itype_sbomb &&
3246 !(game->get_sbombs()
3247 || (itemsbuf[id].misc1==0 && findWeaponWithParent(id, wLitSBomb))
3248 || (current_item_power(itype_bombbag)
3249 && itemsbuf[current_item_id(itype_bombbag)].flags & ITEM_FLAG1))))
3250 return false;
3251
3252
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1371 times.
1371 if(itemtype!=itype_bowandarrow ||
3253 d!=itype_arrow ||
3254 ((get_bit(quest_rules,qr_TRUEARROWS)&&game->get_arrows()) ||
3255 (!get_bit(quest_rules,qr_TRUEARROWS)&&game->get_rupies())))
3256 1371 return true;
3257
3258 return false;
3259 }
3260 3390402 }
3261
3262 278569 int32_t get_subscreenitem_id(int32_t itemtype, bool forceItem)
3263 {
3264
3/4
✓ Branch 0 taken 278569 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 278329 times.
✓ Branch 3 taken 240 times.
278569 if(forceItem && (itemtype & 0x8000))
3265 240 return itemtype&0xFFF;
3266 // We need to do a reverse loop to prevent the Bow from being drawn above the Arrow (Bow & Arrow).
3267 278329 int32_t overridecheck = 0xFFFF;
3268
3269
2/2
✓ Branch 0 taken 3836251 times.
✓ Branch 1 taken 10430 times.
3846681 for(int32_t i=Sitems.Count()-1; i>=0; i--)
3270 {
3271
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3836251 times.
3836251 if(itemtype & 0x8000) // if 0x8000, then itemtype is actually an item ID.
3272 {
3273 if(overridecheck==0xFFFF)
3274 {
3275 if(Sitems.spr(i)->id == (itemtype&0xFFF) && Sitems.spr(i)->misc==-1) overridecheck = i;
3276 }
3277 }
3278
2/2
✓ Branch 0 taken 11312 times.
✓ Branch 1 taken 3824939 times.
3836251 else if(Sitems.spr(i)->misc!=-1)
3279 {
3280 3824939 int32_t d= itemsbuf[Sitems.spr(i)->id].family;
3281
3282
2/2
✓ Branch 0 taken 3561748 times.
✓ Branch 1 taken 263191 times.
3824939 if((d==itemtype)||
3283
6/6
✓ Branch 0 taken 61752 times.
✓ Branch 1 taken 3499996 times.
✓ Branch 2 taken 418 times.
✓ Branch 3 taken 61334 times.
✓ Branch 4 taken 57044 times.
✓ Branch 5 taken 4708 times.
3561748 (itemtype==itype_letterpotion&&((d==itype_letter && current_item_id(itype_potion)==-1)||d==itype_potion))||
3284
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 3557040 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
3557040 (itemtype==itype_bowandarrow&&(d==itype_bow||d==itype_arrow)))
3285 {
3286 267899 return Sitems.spr(i)->id;
3287 }
3288 3557040 }
3289 3568352 }
3290
1/2
✓ Branch 0 taken 10430 times.
✗ Branch 1 not taken.
10430 if(forceItem)
3291 {
3292 10430 bool useLowestID = get_bit(quest_rules,qr_SUBSCR_BACKWARDS_ID_ORDER);
3293 10430 int32_t id = -1;
3294
2/2
✓ Branch 0 taken 154 times.
✓ Branch 1 taken 106726 times.
106880 for(auto q = 0; q < MAXITEMS; ++q)
3295 {
3296
2/2
✓ Branch 0 taken 96296 times.
✓ Branch 1 taken 10430 times.
106726 if(itemsbuf[q].family == itemtype)
3297 {
3298 10430 id = q;
3299
2/2
✓ Branch 0 taken 154 times.
✓ Branch 1 taken 10276 times.
10430 if(useLowestID) break;
3300 154 }
3301 96450 }
3302 10430 return id;
3303 }
3304
3305 //Item Override stuff here
3306 if((itemtype & 0x8000) &&
3307 (!game || game->item[itemtype&0xFFF])
3308 && !item_disabled(itemtype&0xFFF) && displaysubscreenitem(itemsbuf[itemtype&0xFFF].family, 0, (itemtype&0xFFF)))
3309 {
3310 return itemtype&0xFFF;
3311 }
3312 return -1;
3313 278569 }
3314
3315 item* get_subscreenitem(int32_t itemtype)
3316 {
3317 // We need to do a reverse loop to prevent the Bow from being drawn above the Arrow (Bow & Arrow).
3318 int32_t overridecheck = 0xFFFF;
3319
3320 for(int32_t i=Sitems.Count()-1; i>=0; i--)
3321 {
3322 if(itemtype & 0x8000) // if 0x8000, then itemtype is actually an item ID.
3323 {
3324 if(overridecheck==0xFFFF)
3325 {
3326 if(Sitems.spr(i)->id == (itemtype&0xFFF) && Sitems.spr(i)->misc==-1) overridecheck = i;
3327 }
3328 }
3329 else if(Sitems.spr(i)->misc!=-1)
3330 {
3331 int32_t d= itemsbuf[Sitems.spr(i)->id].family;
3332
3333 if((d==itemtype)||
3334 (itemtype==itype_letterpotion&&((d==itype_letter && current_item_id(itype_potion)==-1)||d==itype_potion))||
3335 (itemtype==itype_bowandarrow&&(d==itype_bow||d==itype_arrow)))
3336 {
3337 return (item*)Sitems.spr(i);
3338 }
3339 }
3340 }
3341
3342 //Item Override stuff here
3343 if((itemtype & 0x8000) &&
3344 (!game || game->item[itemtype&0xFFF])
3345 && !item_disabled(itemtype&0xFFF) && displaysubscreenitem(itemsbuf[itemtype&0xFFF].family, 0, (itemtype&0xFFF)))
3346 {
3347 if(overridecheck == 0xFFFF)
3348 {
3349 overridecheck = Sitems.Count()-1;
3350 }
3351 return (item*)Sitems.spr(overridecheck);
3352 }
3353 return NULL;
3354 }
3355
3356
3357 5037144 void subscreenitem(BITMAP *dest, int32_t x, int32_t y, int32_t itemtype)
3358 {
3359 // We need to do a reverse loop to prevent the Bow from being drawn above the Arrow (Bow & Arrow).
3360 5037144 int32_t overridecheck = 0xFFFF;
3361
3362
2/2
✓ Branch 0 taken 1651376 times.
✓ Branch 1 taken 70401945 times.
72053321 for(int32_t i=Sitems.Count()-1; i>=0; i--)
3363 {
3364
2/2
✓ Branch 0 taken 226774 times.
✓ Branch 1 taken 70175171 times.
70401945 if(itemtype & 0x8000) // if 0x8000, then itemtype is actually an item ID.
3365 {
3366
2/2
✓ Branch 0 taken 207578 times.
✓ Branch 1 taken 19196 times.
226774 if(overridecheck==0xFFFF)
3367 {
3368 //al_trace("Found an override item at subscreen.cpp linere 3084, id: %d\n",Sitems.spr(i)->id);
3369
3370
4/4
✓ Branch 0 taken 4610 times.
✓ Branch 1 taken 14586 times.
✓ Branch 2 taken 27 times.
✓ Branch 3 taken 4583 times.
19196 if(Sitems.spr(i)->id == (itemtype&0xFFF) && Sitems.spr(i)->misc==-1) overridecheck = i;
3371 19196 }
3372 226774 }
3373
2/2
✓ Branch 0 taken 201787 times.
✓ Branch 1 taken 69973384 times.
70175171 else if(Sitems.spr(i)->misc!=-1)
3374 {
3375 69973384 int32_t d= itemsbuf[Sitems.spr(i)->id].family;
3376
3377
2/2
✓ Branch 0 taken 66734643 times.
✓ Branch 1 taken 3238741 times.
69973384 if((d==itemtype)||
3378
6/6
✓ Branch 0 taken 2071383 times.
✓ Branch 1 taken 64663260 times.
✓ Branch 2 taken 20547 times.
✓ Branch 3 taken 2050836 times.
✓ Branch 4 taken 147027 times.
✓ Branch 5 taken 1924356 times.
66734643 (itemtype==itype_letterpotion&&((d==itype_letter && current_item_id(itype_potion)==-1)||d==itype_potion))||
3379
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 66587616 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
66587616 (itemtype==itype_bowandarrow&&(d==itype_bow||d==itype_arrow)))
3380 {
3381 3385768 Sitems.spr(i)->x = x;
3382 3385768 Sitems.spr(i)->y = y;
3383 3385768 Sitems.spr(i)->yofs=0;
3384
3385
2/2
✓ Branch 0 taken 24689 times.
✓ Branch 1 taken 3361079 times.
3385768 if(displaysubscreenitem(itemtype, d, -1))
3386 {
3387 3361079 Sitems.spr(i)->drawzcboss(dest);
3388 3361079 }
3389
3390
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3385768 times.
3385768 if(itemtype!=itype_bowandarrow)
3391 {
3392 3385768 return;
3393 }
3394 }
3395 66587616 }
3396 67016177 }
3397
3398 //Item Override stuff here
3399
3/4
✓ Branch 0 taken 1645481 times.
✓ Branch 1 taken 5895 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 4634 times.
1656010 if((itemtype & 0x8000) &&
3400
3/4
✓ Branch 0 taken 5895 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4634 times.
✓ Branch 3 taken 1261 times.
5895 (get_app_id() == App::zelda ? game->item[itemtype&0xFFF] : true) &&
3401 4634 !item_disabled(itemtype&0xFFF) && displaysubscreenitem(itemsbuf[itemtype&0xFFF].family, 0, (itemtype&0xFFF)))
3402 {
3403
2/2
✓ Branch 0 taken 4583 times.
✓ Branch 1 taken 51 times.
4634 if(overridecheck == 0xFFFF)
3404 {
3405 //al_trace("Found an override item at subscreen.cpp linere 3120, itemtype: %d\n",itemtype);
3406
3407
4/8
✓ Branch 0 taken 51 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 51 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 51 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 51 times.
✗ Branch 7 not taken.
51 add_subscr_item(new item((zfix)x,(zfix)y,(zfix)0,(itemtype&0xFFF),0,0));
3408 51 overridecheck = Sitems.Count()-1;
3409 51 Sitems.spr(overridecheck)->misc = -1;
3410 51 }
3411
3412 4634 Sitems.spr(overridecheck)->x = x;
3413 4634 Sitems.spr(overridecheck)->y = y;
3414 4634 Sitems.spr(overridecheck)->yofs=0;
3415 4634 Sitems.spr(overridecheck)->drawzcboss(dest);
3416 4634 }
3417 5037144 }
3418
3419 148123659 int32_t subscreen_color(miscQdata *misc, int32_t c1, int32_t c2)
3420 {
3421 int32_t ret;
3422
3423
3/3
✓ Branch 0 taken 49069787 times.
✓ Branch 1 taken 13031659 times.
✓ Branch 2 taken 86022213 times.
148123659 switch(c1)
3424 {
3425 case ssctSYSTEM:
3426
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 13031659 times.
13031659 ret=(c2==-1)?c2:vc(c2);
3427 13031659 break;
3428
3429 case ssctMISC:
3430
9/17
✗ Branch 0 not taken.
✓ Branch 1 taken 30722987 times.
✓ Branch 2 taken 6534030 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 5543165 times.
✓ Branch 10 taken 5543165 times.
✓ Branch 11 taken 31743973 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 44226 times.
✓ Branch 14 taken 14549 times.
✓ Branch 15 taken 159202 times.
✓ Branch 16 taken 5716916 times.
86022213 switch(c2)
3431 {
3432 case ssctTEXT:
3433 30722987 ret=misc->colors.text;
3434 30722987 break;
3435
3436 case ssctCAPTION:
3437 6534030 ret=misc->colors.caption;
3438 6534030 break;
3439
3440 case ssctOVERWBG:
3441 ret=misc->colors.overw_bg;
3442 break;
3443
3444 case ssctDNGNBG:
3445 ret=misc->colors.dngn_bg;
3446 break;
3447
3448 case ssctDNGNFG:
3449 ret=misc->colors.dngn_fg;
3450 break;
3451
3452 case ssctCAVEFG:
3453 ret=misc->colors.cave_fg;
3454 break;
3455
3456 case ssctBSDK:
3457 ret=misc->colors.bs_dk;
3458 break;
3459
3460 case ssctBSGOAL:
3461 ret=misc->colors.bs_goal;
3462 break;
3463
3464 case ssctCOMPASSLT:
3465 5543165 ret=misc->colors.compass_lt;
3466 5543165 break;
3467
3468 case ssctCOMPASSDK:
3469 5543165 ret=misc->colors.compass_dk;
3470 5543165 break;
3471
3472 case ssctSUBSCRBG:
3473 31743973 ret=misc->colors.subscr_bg;
3474 31743973 break;
3475
3476 case ssctSUBSCRSHADOW:
3477 ret=misc->colors.subscr_shadow;
3478 break;
3479
3480 case ssctTRIFRAMECOLOR:
3481 44226 ret=misc->colors.triframe_color;
3482 44226 break;
3483
3484 case ssctBMAPBG:
3485 14549 ret=misc->colors.bmap_bg;
3486 14549 break;
3487
3488 case ssctBMAPFG:
3489 159202 ret=misc->colors.bmap_fg;
3490 159202 break;
3491
3492 case ssctHERODOT:
3493 5716916 ret=misc->colors.hero_dot;
3494 5716916 break;
3495
3496 default:
3497 ret=(zc_oldrand()*1000)%256;
3498 break;
3499 }
3500
3501 86022213 break;
3502
3503 default:
3504 49069787 ret=(c1<<4)+c2;
3505 49069787 }
3506
3507 148123659 return ret;
3508 }
3509
3510
3511
3512 38533435 int32_t subscreen_cset(miscQdata *misc,int32_t c1, int32_t c2)
3513 {
3514 38533435 int32_t ret=c1;
3515
3516
2/2
✓ Branch 0 taken 28179589 times.
✓ Branch 1 taken 10353846 times.
38533435 switch(c1)
3517 {
3518 case ssctMISC:
3519
1/8
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 10353846 times.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
10353846 switch(c2)
3520 {
3521 case sscsTRIFORCECSET:
3522 ret=misc->colors.triforce_cset;
3523 break;
3524
3525 case sscsTRIFRAMECSET:
3526 ret=misc->colors.triframe_cset;
3527 break;
3528
3529 case sscsOVERWORLDMAPCSET:
3530 ret=misc->colors.overworld_map_cset;
3531 break;
3532
3533 case sscsDUNGEONMAPCSET:
3534 ret=misc->colors.dungeon_map_cset;
3535 break;
3536
3537 case sscsBLUEFRAMECSET:
3538 10353846 ret=misc->colors.blueframe_cset;
3539 10353846 break;
3540
3541 case sscsHCPIECESCSET:
3542 ret=misc->colors.HCpieces_cset;
3543 break;
3544
3545 case sscsSSVINECSET:
3546 ret=wpnsbuf[iwSubscreenVine].csets&15;
3547 break;
3548
3549 default:
3550 ret=(zc_oldrand()*1000)%256;
3551 break;
3552 }
3553
3554 10353846 break;
3555
3556 default:
3557 28179589 ret=c1;
3558 28179589 }
3559
3560 38533435 return ret;
3561 }
3562
3563 173632607 FONT *ss_font(int32_t fontnum)
3564 {
3565 FONT *tempfont;
3566
3567
67/67
✓ Branch 0 taken 1991857 times.
✓ Branch 1 taken 23729350 times.
✓ Branch 2 taken 1495897 times.
✓ Branch 3 taken 14518607 times.
✓ Branch 4 taken 2584972 times.
✓ Branch 5 taken 2452771 times.
✓ Branch 6 taken 2322569 times.
✓ Branch 7 taken 3372542 times.
✓ Branch 8 taken 75548679 times.
✓ Branch 9 taken 1670977 times.
✓ Branch 10 taken 3721424 times.
✓ Branch 11 taken 3085064 times.
✓ Branch 12 taken 1585196 times.
✓ Branch 13 taken 1647746 times.
✓ Branch 14 taken 1663535 times.
✓ Branch 15 taken 1662874 times.
✓ Branch 16 taken 1664656 times.
✓ Branch 17 taken 1663597 times.
✓ Branch 18 taken 1101783 times.
✓ Branch 19 taken 1100730 times.
✓ Branch 20 taken 1022665 times.
✓ Branch 21 taken 1021519 times.
✓ Branch 22 taken 1020550 times.
✓ Branch 23 taken 1021240 times.
✓ Branch 24 taken 1021835 times.
✓ Branch 25 taken 945185 times.
✓ Branch 26 taken 714170 times.
✓ Branch 27 taken 714565 times.
✓ Branch 28 taken 869813 times.
✓ Branch 29 taken 791134 times.
✓ Branch 30 taken 691745 times.
✓ Branch 31 taken 691383 times.
✓ Branch 32 taken 690880 times.
✓ Branch 33 taken 691144 times.
✓ Branch 34 taken 529133 times.
✓ Branch 35 taken 529282 times.
✓ Branch 36 taken 467980 times.
✓ Branch 37 taken 459222 times.
✓ Branch 38 taken 359238 times.
✓ Branch 39 taken 382417 times.
✓ Branch 40 taken 360309 times.
✓ Branch 41 taken 358913 times.
✓ Branch 42 taken 358827 times.
✓ Branch 43 taken 359519 times.
✓ Branch 44 taken 359023 times.
✓ Branch 45 taken 359012 times.
✓ Branch 46 taken 537592 times.
✓ Branch 47 taken 359335 times.
✓ Branch 48 taken 359390 times.
✓ Branch 49 taken 472246 times.
✓ Branch 50 taken 381869 times.
✓ Branch 51 taken 381963 times.
✓ Branch 52 taken 381937 times.
✓ Branch 53 taken 383162 times.
✓ Branch 54 taken 382195 times.
✓ Branch 55 taken 397409 times.
✓ Branch 56 taken 383110 times.
✓ Branch 57 taken 382379 times.
✓ Branch 58 taken 381222 times.
✓ Branch 59 taken 395487 times.
✓ Branch 60 taken 382428 times.
✓ Branch 61 taken 383199 times.
✓ Branch 62 taken 382481 times.
✓ Branch 63 taken 382220 times.
✓ Branch 64 taken 382730 times.
✓ Branch 65 taken 381103 times.
✓ Branch 66 taken 383621 times.
173632607 switch(fontnum)
3568 {
3569 case ssfSMALL:
3570 1991857 tempfont=sfont;
3571 1991857 break;
3572
3573 case ssfSMALLPROP:
3574 1495897 tempfont=spfont;
3575 1495897 break;
3576
3577 case ssfSS1:
3578 14518607 tempfont=ssfont1;
3579 14518607 break;
3580
3581 case ssfSS2:
3582 2584972 tempfont=ssfont2;
3583 2584972 break;
3584
3585 case ssfSS3:
3586 2452771 tempfont=ssfont3;
3587 2452771 break;
3588
3589 case ssfSS4:
3590 2322569 tempfont=ssfont4;
3591 2322569 break;
3592
3593 case ssfZTIME:
3594 3372542 tempfont=ztfont;
3595 3372542 break;
3596
3597 case ssfZELDA:
3598 75548679 tempfont=zfont;
3599 75548679 break;
3600
3601 case ssfZ3:
3602 1670977 tempfont=z3font;
3603 1670977 break;
3604
3605 case ssfZ3SMALL:
3606 3721424 tempfont=z3smallfont;
3607 3721424 break;
3608
3609 case ssfGBLA:
3610 3085064 tempfont=gblafont;
3611 3085064 break;
3612
3613 case ssfGORON:
3614 1585196 tempfont=goronfont;
3615 1585196 break;
3616
3617 case ssfZORAN:
3618 1647746 tempfont=zoranfont;
3619 1647746 break;
3620
3621 case ssfHYLIAN1:
3622 1663535 tempfont=hylian1font;
3623 1663535 break;
3624
3625 case ssfHYLIAN2:
3626 1662874 tempfont=hylian2font;
3627 1662874 break;
3628
3629 case ssfHYLIAN3:
3630 1664656 tempfont=hylian3font;
3631 1664656 break;
3632
3633 case ssfHYLIAN4:
3634 1663597 tempfont=hylian4font;
3635 1663597 break;
3636
3637 case ssfPROP:
3638 1101783 tempfont=font;
3639 1101783 break;
3640
3641 case ssfGBORACLE:
3642 1100730 tempfont=gboraclefont;
3643 1100730 break;
3644
3645 case ssfGBORACLEP:
3646 1022665 tempfont=gboraclepfont;
3647 1022665 break;
3648
3649 case ssfDSPHANTOM:
3650 1021519 tempfont=dsphantomfont;
3651 1021519 break;
3652
3653 case ssfDSPHANTOMP:
3654 1020550 tempfont=dsphantompfont;
3655 1020550 break;
3656
3657 1021240 case ssfAT800: tempfont=atari800font; break;
3658 1021835 case ssfACORN: tempfont=acornfont;break;
3659 945185 case ssADOS: tempfont= adosfont; break;
3660 714170 case ssfALLEG: tempfont= baseallegrofont; break;
3661 714565 case ssfAPL2: tempfont= apple2font; break;
3662 869813 case ssfAPL280: tempfont= apple280colfont; break;
3663 791134 case ssfAPL2GS: tempfont= apple2gsfont; break;
3664 691745 case ssfAQUA: tempfont= aquariusfont; break;
3665 691383 case ssfAT400: tempfont= atari400font; break;
3666 690880 case ssfC64: tempfont= c64font; break;
3667 691144 case ssfC64HR: tempfont= c64hiresfont; break;
3668 529133 case ssfCGA: tempfont= cgafont; break;
3669 529282 case ssfCOCO: tempfont= cocofont; break;
3670 467980 case ssfCOCO2: tempfont= coco2font; break;
3671 459222 case ssfCOUPE: tempfont= coupefont; break;
3672 359238 case ssfCPC: tempfont= cpcfont; break;
3673 382417 case ssfFANTASY: tempfont= fantasyfont; break;
3674 360309 case ssfFDSKANA: tempfont= fdskanafont; break;
3675 358913 case ssfFDSLIKE: tempfont= fdslikefont; break;
3676 358827 case ssfFDSROM: tempfont= fdsromanfont; break;
3677 359519 case ssfFF: tempfont= finalffont; break;
3678 359023 case ssfFUTHARK: tempfont= futharkfont; break;
3679 359012 case ssfGAIA: tempfont= gaiafont; break;
3680 537592 case ssfHIRA: tempfont= hirafont; break;
3681 359335 case ssfJP: tempfont= jpfont; break;
3682 359390 case ssfKONG: tempfont= kongfont; break;
3683 472246 case ssfMANA: tempfont= manafont; break;
3684 381869 case ssfML: tempfont= mlfont; break;
3685 381963 case ssfMOT: tempfont= motfont; break;
3686 381937 case ssfMSX0: tempfont= msxmode0font; break;
3687 383162 case ssfMSX1: tempfont= msxmode1font; break;
3688 382195 case ssfPET: tempfont= petfont; break;
3689 397409 case ssfPSTART: tempfont= pstartfont; break;
3690 383110 case ssfSATURN: tempfont= saturnfont; break;
3691 382379 case ssfSCIFI: tempfont= scififont; break;
3692 381222 case ssfSHERW: tempfont= sherwoodfont; break;
3693 395487 case ssfSINQL: tempfont= sinqlfont; break;
3694 382428 case ssfSPEC: tempfont= spectrumfont; break;
3695 383199 case ssfSPECLG: tempfont= speclgfont; break;
3696 382481 case ssfTI99: tempfont= ti99font; break;
3697 382220 case ssfTRS: tempfont= trsfont; break;
3698 382730 case ssfZ2: tempfont= z2font; break;
3699 381103 case ssfZX: tempfont= zxfont; break;
3700 383621 case ssfLISA: tempfont= lisafont; break;
3701 default:
3702 23729350 fontnum=zc_oldrand()%ssfMAX;
3703 23729350 tempfont=ss_font(fontnum);
3704 23729350 break;
3705 }
3706
3707 173632607 return tempfont;
3708 }
3709
3710
3711 int32_t to_real_font(int32_t ss_font)
3712 {
3713 switch(ss_font)
3714 {
3715 case ssfSMALL: return font_sfont;
3716 case ssfSMALLPROP: return font_spfont;
3717 case ssfSS1: return font_ssfont1;
3718 case ssfSS2: return font_ssfont2;
3719 case ssfSS3: return font_ssfont3;
3720 case ssfSS4: return font_ssfont4;
3721 case ssfZTIME: return font_ztfont;
3722 case ssfZELDA: return font_zfont;
3723 case ssfZ3: return font_z3font;
3724 case ssfZ3SMALL: return font_z3smallfont;
3725 case ssfGBLA: return font_gblafont;
3726 case ssfGORON: return font_goronfont;
3727 case ssfZORAN: return font_zoranfont;
3728 case ssfHYLIAN1: return font_hylian1font;
3729 case ssfHYLIAN2: return font_hylian2font;
3730 case ssfHYLIAN3: return font_hylian3font;
3731 case ssfHYLIAN4: return font_hylian4font;
3732 case ssfGBORACLE: return font_gboraclefont;
3733 case ssfGBORACLEP: return font_gboraclepfont;
3734 case ssfDSPHANTOM: return font_dsphantomfont;
3735 case ssfDSPHANTOMP: return font_dsphantompfont;
3736 case ssfAT800: return font_atari800font;
3737 case ssfACORN: return font_acornfont;
3738 case ssADOS: return font_adosfont;
3739 case ssfALLEG: return font_baseallegrofont;
3740 case ssfAPL2: return font_apple2font;
3741 case ssfAPL280: return font_apple280colfont;
3742 case ssfAPL2GS: return font_apple2gsfont;
3743 case ssfAQUA: return font_aquariusfont;
3744 case ssfAT400: return font_atari400font;
3745 case ssfC64: return font_c64font;
3746 case ssfC64HR: return font_c64hiresfont;
3747 case ssfCGA: return font_cgafont;
3748 case ssfCOCO: return font_cocofont;
3749 case ssfCOCO2: return font_coco2font;
3750 case ssfCOUPE: return font_coupefon;
3751 case ssfCPC: return font_cpcfon;
3752 case ssfFANTASY: return font_fantasyfon;
3753 case ssfFDSKANA: return font_fdskanafon;
3754 case ssfFDSLIKE: return font_fdslikefon;
3755 case ssfFDSROM: return font_fdsromanfon;
3756 case ssfFF: return font_finalffont;
3757 case ssfFUTHARK: return font_futharkfont;
3758 case ssfGAIA: return font_gaiafont;
3759 case ssfHIRA: return font_hirafont;
3760 case ssfJP: return font_jpfont;
3761 case ssfKONG: return font_kongfont;
3762 case ssfMANA: return font_manafont;
3763 case ssfML: return font_mlfont;
3764 case ssfMOT: return font_motfont;
3765 case ssfMSX0: return font_msxmode0font;
3766 case ssfMSX1: return font_msxmode1font;
3767 case ssfPET: return font_petfont;
3768 case ssfPSTART: return font_pstartfont;
3769 case ssfSATURN: return font_saturnfont;
3770 case ssfSCIFI: return font_scififont;
3771 case ssfSHERW: return font_sherwoodfont;
3772 case ssfSINQL: return font_sinqlfont;
3773 case ssfSPEC: return font_spectrumfont;
3774 case ssfSPECLG: return font_speclgfont;
3775 case ssfTI99: return font_ti99font;
3776 case ssfTRS: return font_trsfont;
3777 case ssfZ2: return font_z2font;
3778 case ssfZX: return font_zxfont;
3779 case ssfLISA: return font_lisafont;
3780 }
3781 return font_zfont;
3782 }
3783 int32_t to_ss_font(int32_t real_font)
3784 {
3785 switch(real_font)
3786 {
3787 case font_sfont: return ssfSMALL;
3788 case font_spfont: return ssfSMALLPROP;
3789 case font_ssfont1: return ssfSS1;
3790 case font_ssfont2: return ssfSS2;
3791 case font_ssfont3: return ssfSS3;
3792 case font_ssfont4: return ssfSS4;
3793 case font_ztfont: return ssfZTIME;
3794 case font_zfont: return ssfZELDA;
3795 case font_z3font: return ssfZ3;
3796 case font_z3smallfont: return ssfZ3SMALL;
3797 case font_gblafont: return ssfGBLA;
3798 case font_goronfont: return ssfGORON;
3799 case font_zoranfont: return ssfZORAN;
3800 case font_hylian1font: return ssfHYLIAN1;
3801 case font_hylian2font: return ssfHYLIAN2;
3802 case font_hylian3font: return ssfHYLIAN3;
3803 case font_hylian4font: return ssfHYLIAN4;
3804 case font_gboraclefont: return ssfGBORACLE;
3805 case font_gboraclepfont: return ssfGBORACLEP;
3806 case font_dsphantomfont: return ssfDSPHANTOM;
3807 case font_dsphantompfont: return ssfDSPHANTOMP;
3808 case font_atari800font: return ssfAT800;
3809 case font_acornfont: return ssfACORN;
3810 case font_adosfont: return ssADOS;
3811 case font_baseallegrofont: return ssfALLEG;
3812 case font_apple2font: return ssfAPL2;
3813 case font_apple280colfont: return ssfAPL280;
3814 case font_apple2gsfont: return ssfAPL2GS;
3815 case font_aquariusfont: return ssfAQUA;
3816 case font_atari400font: return ssfAT400;
3817 case font_c64font: return ssfC64;
3818 case font_c64hiresfont: return ssfC64HR;
3819 case font_cgafont: return ssfCGA;
3820 case font_cocofont: return ssfCOCO;
3821 case font_coco2font: return ssfCOCO2;
3822 case font_coupefon: return ssfCOUPE;
3823 case font_cpcfon: return ssfCPC;
3824 case font_fantasyfon: return ssfFANTASY;
3825 case font_fdskanafon: return ssfFDSKANA;
3826 case font_fdslikefon: return ssfFDSLIKE;
3827 case font_fdsromanfon: return ssfFDSROM;
3828 case font_finalffont: return ssfFF;
3829 case font_futharkfont: return ssfFUTHARK;
3830 case font_gaiafont: return ssfGAIA;
3831 case font_hirafont: return ssfHIRA;
3832 case font_jpfont: return ssfJP;
3833 case font_kongfont: return ssfKONG;
3834 case font_manafont: return ssfMANA;
3835 case font_mlfont: return ssfML;
3836 case font_motfont: return ssfMOT;
3837 case font_msxmode0font: return ssfMSX0;
3838 case font_msxmode1font: return ssfMSX1;
3839 case font_petfont: return ssfPET;
3840 case font_pstartfont: return ssfPSTART;
3841 case font_saturnfont: return ssfSATURN;
3842 case font_scififont: return ssfSCIFI;
3843 case font_sherwoodfont: return ssfSHERW;
3844 case font_sinqlfont: return ssfSINQL;
3845 case font_spectrumfont: return ssfSPEC;
3846 case font_speclgfont: return ssfSPECLG;
3847 case font_ti99font: return ssfTI99;
3848 case font_trsfont: return ssfTRS;
3849 case font_z2font: return ssfZ2;
3850 case font_zxfont: return ssfZX;
3851 case font_lisafont: return ssfLISA;
3852 }
3853 return ssfZELDA;
3854 }
3855
3856 item *sel_a=NULL, *sel_b=NULL;
3857
3858
3859 672 void delete_selectors()
3860 {
3861
2/2
✓ Branch 0 taken 29 times.
✓ Branch 1 taken 643 times.
672 if(sel_a)
3862 {
3863
1/2
✓ Branch 0 taken 643 times.
✗ Branch 1 not taken.
643 delete sel_a;
3864 643 sel_a=NULL;
3865 643 }
3866
3867
2/2
✓ Branch 0 taken 29 times.
✓ Branch 1 taken 643 times.
672 if(sel_b)
3868 {
3869
1/2
✓ Branch 0 taken 643 times.
✗ Branch 1 not taken.
643 delete sel_b;
3870 643 sel_b=NULL;
3871 643 }
3872 672 }
3873
3874
3875 184481 void animate_selectors()
3876 {
3877
2/2
✓ Branch 0 taken 183809 times.
✓ Branch 1 taken 672 times.
184481 if(new_sel)
3878 {
3879 672 delete_selectors();
3880 672 new_sel = false;
3881 672 }
3882
3883
2/2
✓ Branch 0 taken 183809 times.
✓ Branch 1 taken 672 times.
184481 if(!sel_a)
3884
4/8
✓ Branch 0 taken 672 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 672 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 672 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 672 times.
✗ Branch 7 not taken.
672 sel_a = new item((zfix)0, (zfix)0, (zfix)0, iSelectA, 0, 0);
3885
3886
2/2
✓ Branch 0 taken 183809 times.
✓ Branch 1 taken 672 times.
184481 if(!sel_b)
3887
4/8
✓ Branch 0 taken 672 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 672 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 672 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 672 times.
✗ Branch 7 not taken.
672 sel_b = new item((zfix)0, (zfix)0, (zfix)0, iSelectB, 0, 0);
3888
3889 184481 sel_a->yofs=0;
3890 184481 sel_a->subscreenItem=true;
3891 184481 sel_a->animate(0);
3892 184481 sel_b->yofs=0;
3893 184481 sel_b->subscreenItem=true;
3894 184481 sel_b->animate(0);
3895 184481 }
3896
3897 6462630 void show_custom_subscreen(BITMAP *dest, miscQdata *misc, subscreen_group *css, int32_t xofs, int32_t yofs, bool showtime, int32_t pos2)
3898 {
3899 //this is not a good place to be clearing the bitmap
3900 //other stuff might already have been drawn on it that needs to be kept
3901 //(eg the game screen when pulling down the subscreen) -DD
3902 //clear_to_color(dest, 0);
3903 6462630 color_map=&trans_table;
3904 6462630 set_trans_blender(0, 0, 0, 128);
3905
3906 //doing animation here leads to 2x speed when drawing both active and passive subscreen -DD
3907 /*static item sel_a((zfix)0,(zfix)0,(zfix)0,iSelectA,0,0);
3908 static item sel_b((zfix)0,(zfix)0,(zfix)0,iSelectB,0,0);
3909 if (new_sel)
3910 {
3911 sel_a=item((zfix)0,(zfix)0,(zfix)0,iSelectA,0,0);
3912 sel_b=item((zfix)0,(zfix)0,(zfix)0,iSelectB,0,0);
3913 new_sel=false;
3914 }
3915 sel_a.yofs=0;
3916 sel_a.animate(0);
3917 sel_b.yofs=0;
3918 sel_b.animate(0);*/
3919
3/4
✓ Branch 0 taken 6462601 times.
✓ Branch 1 taken 29 times.
✓ Branch 2 taken 6462601 times.
✗ Branch 3 not taken.
6462630 if(!sel_a || !sel_b)
3920 29 animate_selectors();
3921
3922
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 157124707 times.
✓ Branch 2 taken 150662077 times.
✓ Branch 3 taken 6462630 times.
157124707 for(int32_t i=0; i<MAXSUBSCREENITEMS&&css->objects[i].type>ssoNULL; ++i)
3923 {
3924
2/2
✓ Branch 0 taken 758820 times.
✓ Branch 1 taken 149903257 times.
150662077 if((css->objects[i].pos & pos2) != 0)
3925 {
3926 149903257 FONT *tempfont=zfont;
3927 149903257 int32_t fontnum=css->objects[i].d1;
3928 149903257 tempfont=ss_font(fontnum);
3929 149903257 int32_t x=css->objects[i].x+xofs;
3930 149903257 int32_t y=css->objects[i].y+yofs;
3931
3932
22/26
✓ Branch 0 taken 5005040 times.
✓ Branch 1 taken 278569 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 12263707 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 17970237 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 314149 times.
✓ Branch 8 taken 1653516 times.
✓ Branch 9 taken 5024977 times.
✓ Branch 10 taken 12407521 times.
✓ Branch 11 taken 3644310 times.
✓ Branch 12 taken 14213506 times.
✓ Branch 13 taken 5587510 times.
✓ Branch 14 taken 5587510 times.
✓ Branch 15 taken 173751 times.
✓ Branch 16 taken 5831635 times.
✓ Branch 17 taken 5228298 times.
✓ Branch 18 taken 64020 times.
✓ Branch 19 taken 645 times.
✓ Branch 20 taken 32535 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 13084272 times.
✓ Branch 23 taken 13185456 times.
✓ Branch 24 taken 9563061 times.
✓ Branch 25 taken 18789032 times.
149903257 switch(css->objects[i].type)
3933 {
3934 case sso2X2FRAME:
3935 {
3936 //al_trace("2x2 Frame tile is: %d\n",css->objects[i].d1);
3937 //in 1.92 and earlier, the 2x2 frame object was tile 278
3938 12263707 frame2x2(dest, misc, x, y, css->objects[i].d1, subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1), css->objects[i].w, css->objects[i].h, css->objects[i].d2, css->objects[i].d3 != 0, css->objects[i].d4 != 0);
3939 //frame2x2(dest, misc, x, y, FFCore.getQuestHeaderInfo(vZelda) < 0x193 ? 278 : css->objects[i].d1, subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1), css->objects[i].w, css->objects[i].h, css->objects[i].d2, css->objects[i].d3 != 0, css->objects[i].d4 != 0);
3940 }
3941 12263707 break;
3942
3943 case ssoBSTIME:
3944 {
3945 char *ts;
3946
3947 if(game)
3948 ts = time_str_short2(game->get_time());
3949 else
3950 ts = time_str_short2(0);
3951
3952 //textout_shadowed_ex(dest,tempfont,ts,x,y,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3953 textout_styled_aligned_ex(dest,tempfont,ts,x,y,css->objects[i].d3,css->objects[i].d2,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3954 }
3955 break;
3956
3957 case ssoSSTIME:
3958 case ssoTIME:
3959 {
3960
3/4
✓ Branch 0 taken 5005040 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 15980 times.
✓ Branch 3 taken 4989060 times.
5005040 if(showtime||css->objects[i].type==ssoTIME)
3961 {
3962 char *ts;
3963
3964
1/2
✓ Branch 0 taken 15980 times.
✗ Branch 1 not taken.
15980 if(game)
3965 15980 ts = time_str_med(game->get_time());
3966 else
3967 ts = time_str_med(0);
3968
3969 //textout_right_ex(dest,tempfont,ts,x,y,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2));
3970 15980 textout_styled_aligned_ex(dest,tempfont,ts,x,y,css->objects[i].d3,css->objects[i].d2,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3971 15980 }
3972 }
3973 5005040 break;
3974
3975 case ssoTEXT:
3976 {
3977 //textout_styled_aligned_ex(bmp, f, s, x,y,textstyle, alignment, color, shadow, bg)
3978 17970237 textout_styled_aligned_ex(dest,tempfont,(char *)css->objects[i].dp1,x,y,css->objects[i].d3,css->objects[i].d2,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3979 }
3980 17970237 break;
3981
3982 case ssoLINE:
3983 {
3984 if(css->objects[i].d4)
3985 {
3986 drawing_mode(DRAW_MODE_TRANS, NULL, 0, 0);
3987 }
3988
3989 line(dest, x, y, x+css->objects[i].w-1, y+css->objects[i].h-1, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1));
3990
3991 if(css->objects[i].d4)
3992 {
3993 drawing_mode(DRAW_MODE_SOLID, NULL, 0, 0);
3994 }
3995 }
3996 break;
3997
3998 case ssoRECT:
3999 {
4000
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 314149 times.
314149 if(css->objects[i].d2)
4001 {
4002 drawing_mode(DRAW_MODE_TRANS, NULL, 0, 0);
4003 }
4004
4005
1/2
✓ Branch 0 taken 314149 times.
✗ Branch 1 not taken.
314149 if(css->objects[i].d1!=0)
4006 {
4007 314149 rectfill(dest, x, y, x+css->objects[i].w-1, y+css->objects[i].h-1, subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2));
4008 314149 }
4009
4010 314149 rect(dest, x, y, x+css->objects[i].w-1, y+css->objects[i].h-1, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1));
4011
4012
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 314149 times.
314149 if(css->objects[i].d2)
4013 {
4014 drawing_mode(DRAW_MODE_SOLID, NULL, 0, 0);
4015 }
4016 }
4017 314149 break;
4018
4019 case ssoMAGICMETER:
4020 {
4021 1653516 magicmeter(dest, x, y);
4022 }
4023 1653516 break;
4024
4025 case ssoLIFEMETER:
4026 {
4027 //lifemeter(dest, x, y, css->objects[i].d1, css->objects[i].d2 != 0);
4028 5024977 lifemeter(dest, x, y, 1, css->objects[i].d2 != 0);
4029 }
4030 5024977 break;
4031
4032 case ssoBUTTONITEM:
4033 {
4034
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 12407521 times.
12407521 if(css->objects[i].d2)
4035 {
4036 drawing_mode(DRAW_MODE_TRANS, NULL, 0, 0);
4037 }
4038 //zprint2("Button item ID is: %d\n", css->objects[i].d1);
4039 12407521 buttonitem(dest, css->objects[i].d1, x, y);
4040
4041
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 12407521 times.
12407521 if(css->objects[i].d2)
4042 {
4043 drawing_mode(DRAW_MODE_SOLID, NULL, 0, 0);
4044 }
4045 }
4046 12407521 break;
4047
4048 case ssoCOUNTERS:
4049 {
4050 3644310 defaultcounters(dest, x, y, tempfont,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3),css->objects[i].d2 != 0,css->objects[i].d3,css->objects[i].d4,css->objects[i].d5);
4051 }
4052 3644310 break;
4053
4054 case ssoCOUNTER:
4055 {
4056 14213506 counter(dest, x, y, tempfont,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3),css->objects[i].d2,css->objects[i].d3,css->objects[i].d4,css->objects[i].d5,css->objects[i].d6&1, css->objects[i].d7, css->objects[i].d8, css->objects[i].d9, css->objects[i].d10, (css->objects[i].d6&2)!=0);
4057 }
4058 14213506 break;
4059
4060 case ssoMINIMAPTITLE:
4061 {
4062
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 5587510 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
5587510 if(!css->objects[i].d4 || has_item(itype_map, get_dlevel()))
4063 {
4064 5587510 minimaptitle(dest, x, y, tempfont, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3), css->objects[i].d2, css->objects[i].d3);
4065 5587510 }
4066 }
4067 5587510 break;
4068
4069 case ssoMINIMAP:
4070 {
4071 //drawdmap(dest, misc, x, y, showmap, showhero, showcompass, herocolor, lccolor, dccolor)
4072
1/2
✓ Branch 0 taken 5587510 times.
✗ Branch 1 not taken.
11175020 drawdmap(dest, misc, x, y, css->objects[i].d1 != 0, css->objects[i].d2 && !(TheMaps[(DMaps[get_currdmap()].map*MAPSCRS)+get_homescr()].flags7&fNOHEROMARK),
4073
1/2
✓ Branch 0 taken 5587510 times.
✗ Branch 1 not taken.
5587510 css->objects[i].d3 && !(DMaps[get_currdmap()].flags&dmfNOCOMPASS), subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
4074 }
4075 5587510 break;
4076
4077 case ssoLARGEMAP:
4078 {
4079 //putBmap(dest, misc, x, y, showmap, showhero, showrooms, roomcolor, herocolor, large)
4080 173751 putBmap(dest, misc, x, y, css->objects[i].d1 != 0, css->objects[i].d2!=0, css->objects[i].d3!=0, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), css->objects[i].d10 != 0);
4081 }
4082 173751 break;
4083
4084 case ssoCLEAR:
4085 {
4086 5831635 clear_to_color(dest,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1));
4087 }
4088 5831635 break;
4089
4090 case ssoCURRENTITEM:
4091 {
4092 // Shouldn't really be checking is_zquest here, but it's okay for now...
4093
3/6
✓ Branch 0 taken 191154 times.
✓ Branch 1 taken 5037144 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 191154 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
5228298 if(css->objects[i].d2 || (is_zquest() && (zinit.ss_flags&ssflagSHOWINVIS)!=0))
4094 {
4095
2/2
✓ Branch 0 taken 5895 times.
✓ Branch 1 taken 5031249 times.
5037144 subscreenitem(dest, x, y, css->objects[i].d8>0 ? ((css->objects[i].d8-1) | 0x8000) : css->objects[i].d1);
4096 5037144 }
4097 }
4098 5228298 break;
4099
4100 case ssoTEXTBOX:
4101 {
4102 //draw_textbox(dest, x, y, w, h, tempfont, thetext, wword, tabsize, alignment, textstyle, color, shadowcolor, backcolor)
4103 64020 draw_textbox(dest, x, y, css->objects[i].w, css->objects[i].h, tempfont, (char *)css->objects[i].dp1, css->objects[i].d4!=0, css->objects[i].d5, css->objects[i].d2, css->objects[i].d3, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
4104 //draw_textbox(dest, 0, 0, 200, 50, sfont, "This is a test", 1, 4, 0, 0, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
4105 }
4106 64020 break;
4107
4108 case ssoSELECTEDITEMNAME:
4109 {
4110 645 int32_t itemid=Bweapon(Bpos);
4111
4112 // If it's a combined bow and arrow, the item ID will have 0xF000 added.
4113
1/2
✓ Branch 0 taken 645 times.
✗ Branch 1 not taken.
645 if(itemid>=0xF000)
4114 itemid-=0xF000;
4115
4116 // 0 can mean either the item with index 0 is selected or there's no
4117 // valid item to select, so be sure Hero has whatever it would be.
4118
1/2
✓ Branch 0 taken 645 times.
✗ Branch 1 not taken.
645 if(!game->get_item(itemid))
4119 break;
4120
4121 645 char itemname[140]="";
4122 645 sprintf(itemname, "%s", item_string[itemid]);
4123 645 itemdata const& itm = itemsbuf[itemid];
4124
1/3
✓ Branch 0 taken 645 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
645 switch(itm.family)
4125 {
4126 case itype_arrow:
4127 if(Bitem && Bitem->dummy_bool[0]==true) //if we also have a bow
4128 {
4129 if(current_item_id(itype_bow)>-1)
4130 {
4131 bool hasarrows=checkmagiccost(itemid);
4132 sprintf(itemname, "%s%s%s", item_string[current_item_id(itype_bow)], hasarrows?" & ":"",hasarrows?item_string[Bitem->id]:"");
4133 }
4134 }
4135 break;
4136 case itype_bottle:
4137 if(size_t bind = game->get_bottle_slot(itemsbuf[itemid].misc1))
4138 {
4139 char const* btype_name = QMisc.bottle_types[bind-1].name;
4140 if(btype_name[0])
4141 {
4142 sprintf(itemname, "%s", btype_name);
4143 }
4144 }
4145 }
4146
4147 645 draw_textbox(dest, x, y, css->objects[i].w, css->objects[i].h, tempfont, itemname, css->objects[i].d4!=0, css->objects[i].d5, css->objects[i].d2, css->objects[i].d3, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
4148 // draw_textbox(dest, x, y, w, h, tempfont, thetext, wword, tabsize, alignment, textstyle, color, shadowcolor, backcolor);
4149 }
4150 645 break;
4151
4152 case ssoTRIFRAME:
4153 {
4154 //puttriframe(dest, misc, x, y, triframecolor, numbercolor, triframetile, triframecset, triforcetile, triforcecset, showframe, showpieces, largepieces)
4155 32535 puttriframe(dest, misc, x, y, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), css->objects[i].d1, css->objects[i].d2, css->objects[i].d3, css->objects[i].d4, css->objects[i].d5!=0, css->objects[i].d6!=0, css->objects[i].d7!=0);
4156 }
4157 32535 break;
4158
4159 case ssoTRIFORCE:
4160 {
4161 puttriforce(dest,misc,x,y,css->objects[i].d1,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].w,css->objects[i].h,css->objects[i].d2,css->objects[i].d3!=0,css->objects[i].d4!=0,css->objects[i].d5);
4162 }
4163 break;
4164
4165 case ssoTILEBLOCK:
4166 {
4167 13084272 draw_block_flip(dest,x,y,css->objects[i].d1,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].w,css->objects[i].h,css->objects[i].d2,css->objects[i].d3!=0,css->objects[i].d4!=0);
4168 }
4169 13084272 break;
4170
4171 case ssoMINITILE:
4172 {
4173 13185456 int32_t t=css->objects[i].d1;
4174
4175
1/2
✓ Branch 0 taken 13185456 times.
✗ Branch 1 not taken.
13185456 if(t==-1)
4176 {
4177 switch(css->objects[i].d2)
4178 {
4179 case ssmstSSVINETILE:
4180 t=wpnsbuf[iwSubscreenVine].tile*4;
4181 break;
4182
4183 case ssmstMAGICMETER:
4184 t=wpnsbuf[iwMMeter].tile*4;
4185 break;
4186
4187 default:
4188 t=(zc_oldrand()*100000)%32767;
4189 break;
4190 }
4191 }
4192
4193 13185456 t+=css->objects[i].d3;
4194
4195
2/2
✓ Branch 0 taken 9721568 times.
✓ Branch 1 taken 3463888 times.
13185456 if(css->objects[i].d5)
4196 {
4197
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 9721568 times.
9721568 if(css->objects[i].d6)
4198 {
4199 overtiletranslucent8(dest,t,x,y,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].d4,128);
4200 }
4201 else
4202 {
4203 9721568 overtile8(dest,t,x,y,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].d4);
4204 }
4205 9721568 }
4206 else
4207 {
4208
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3463888 times.
3463888 if(css->objects[i].d6)
4209 {
4210 puttiletranslucent8(dest,t,x,y,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].d4,128);
4211 }
4212 else
4213 {
4214 3463888 oldputtile8(dest,t,x,y,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].d4);
4215 }
4216 }
4217 }
4218 13185456 break;
4219
4220 case ssoSELECTOR1:
4221 case ssoSELECTOR2:
4222 {
4223 278569 int32_t p=-1;
4224
4225
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 7996744 times.
✓ Branch 2 taken 498 times.
✓ Branch 3 taken 7996246 times.
7996744 for(int32_t j=0; j<MAXSUBSCREENITEMS&&css->objects[j].type!=ssoNULL; ++j)
4226 {
4227
2/2
✓ Branch 0 taken 2250837 times.
✓ Branch 1 taken 5745409 times.
7996246 if(css->objects[j].type==ssoCURRENTITEM)
4228 {
4229
2/2
✓ Branch 0 taken 5467338 times.
✓ Branch 1 taken 278071 times.
5745409 if(css->objects[j].d3==(int32_t)Bpos)
4230 {
4231 278071 p=j;
4232 278071 break;
4233 }
4234 5467338 }
4235 7718175 }
4236
4237 278569 bool big_sel=css->objects[i].d5 != 0;
4238
2/2
✓ Branch 0 taken 183954 times.
✓ Branch 1 taken 94615 times.
278569 item *tempsel=(css->objects[i].type==ssoSELECTOR1)?sel_a:sel_b;
4239 278569 int32_t temptile=tempsel->tile;
4240 278569 tempsel->drawstyle=0;
4241
4242
1/2
✓ Branch 0 taken 278569 times.
✗ Branch 1 not taken.
278569 if(css->objects[i].d4)
4243 {
4244 tempsel->drawstyle=1;
4245 }
4246
2/2
✓ Branch 0 taken 240 times.
✓ Branch 1 taken 278329 times.
278569 int32_t itemtype = css->objects[p].d8>0 ? ((css->objects[p].d8-1) | 0x8000) : css->objects[p].d1;
4247 278569 itemdata const& tmpitm = itemsbuf[get_subscreenitem_id(itemtype, true)];
4248 278569 bool oldsel = get_bit(quest_rules, qr_SUBSCR_OLD_SELECTOR);
4249
2/2
✓ Branch 0 taken 271889 times.
✓ Branch 1 taken 6680 times.
278569 if(!oldsel) big_sel = false;
4250
5/6
✓ Branch 0 taken 271889 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 271244 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
278569 int32_t sw = oldsel ? (tempsel->extend > 2 ? tempsel->txsz*16 : 16) : (tempsel->extend > 2 ? tempsel->hxsz : 16),
4251
5/6
✓ Branch 0 taken 271889 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 271244 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
278569 sh = oldsel ? (tempsel->extend > 2 ? tempsel->txsz*16 : 16) : (tempsel->extend > 2 ? tempsel->hysz : 16),
4252
5/6
✓ Branch 0 taken 271889 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 271244 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
278569 dw = oldsel ? (tempsel->extend > 2 ? tempsel->txsz*16 : 16) : ((tmpitm.overrideFLAGS & itemdataOVERRIDE_HIT_WIDTH) ? tmpitm.hxsz : 16),
4253
5/6
✓ Branch 0 taken 271889 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 271244 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
278569 dh = oldsel ? (tempsel->extend > 2 ? tempsel->txsz*16 : 16) : ((tmpitm.overrideFLAGS & itemdataOVERRIDE_HIT_HEIGHT) ? tmpitm.hysz : 16);
4254
3/4
✓ Branch 0 taken 271889 times.
✓ Branch 1 taken 6680 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6680 times.
278569 int32_t sxofs = oldsel ? 0 : (tempsel->extend > 2 ? tempsel->hxofs : 0),
4255
3/4
✓ Branch 0 taken 271889 times.
✓ Branch 1 taken 6680 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6680 times.
278569 syofs = oldsel ? 0 : (tempsel->extend > 2 ? tempsel->hyofs : 0),
4256
6/8
✓ Branch 0 taken 271889 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 271244 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 6680 times.
278569 dxofs = oldsel ? (tempsel->extend > 2 ? (int)tempsel->xofs : 0) : ((tmpitm.overrideFLAGS & itemdataOVERRIDE_HIT_X_OFFSET) ? tmpitm.hxofs : 0) + (tempsel->extend > 2 ? (int)tempsel->xofs : 0),
4257
6/8
✓ Branch 0 taken 271889 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 271244 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 6680 times.
278569 dyofs = oldsel ? (tempsel->extend > 2 ? (int)tempsel->yofs : 0) : ((tmpitm.overrideFLAGS & itemdataOVERRIDE_HIT_Y_OFFSET) ? tmpitm.hyofs : 0) + (tempsel->extend > 2 ? (int)tempsel->yofs : 0);
4258 278569 BITMAP* tmpbmp = create_bitmap_ex(8,sw,sh);
4259
2/2
✓ Branch 0 taken 498 times.
✓ Branch 1 taken 280063 times.
280561 for(int32_t j=0; j<4; ++j)
4260 {
4261 280063 clear_bitmap(tmpbmp);
4262
2/2
✓ Branch 0 taken 1992 times.
✓ Branch 1 taken 278071 times.
280063 if(p!=-1)
4263 {
4264 278071 tempsel->x=0;
4265 278071 tempsel->y=0;
4266
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 278071 times.
278071 int32_t tmpx = css->objects[p].x+xofs+(big_sel?(j%2?8:-8):0);
4267
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 278071 times.
278071 int32_t tmpy = css->objects[p].y+yofs+(big_sel?(j>1?8:-8):0);
4268
2/2
✓ Branch 0 taken 121666 times.
✓ Branch 1 taken 156405 times.
278071 tempsel->tile+=(zc_max(itemsbuf[tempsel->id].frames,1)*j);
4269
4270
2/2
✓ Branch 0 taken 71140 times.
✓ Branch 1 taken 206931 times.
278071 if(temptile)
4271 {
4272 206931 tempsel->drawzcboss(tmpbmp);
4273 206931 tempsel->tile=temptile;
4274 206931 }
4275 278071 masked_stretch_blit(tmpbmp, dest, vbound(sxofs, 0, sw), vbound(syofs, 0, sh), sw-vbound(sxofs, 0, sw), sh-vbound(syofs, 0, sh), tmpx+dxofs, tmpy+dyofs, dw, dh);
4276
4277
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 278071 times.
278071 if(!big_sel)
4278 {
4279 278071 break;
4280 }
4281 }
4282 1992 }
4283 278569 destroy_bitmap(tmpbmp);
4284 }
4285 278569 break;
4286
4287 case ssoMAGICGAUGE:
4288 {
4289 // void magicgauge(BITMAP *dest,int32_t x,int32_t y, int32_t container, int32_t notlast_tile, int32_t notlast_cset, bool notlast_mod, int32_t last_tile, int32_t last_cset, bool last_mod,
4290 // int32_t cap_tile, int32_t cap_cset, bool cap_mod, int32_t aftercap_tile, int32_t aftercap_cset, bool aftercap_mod, int32_t frames, int32_t speed, int32_t delay, bool unique_last,
4291 // int32_t show)
4292 19126122 magicgauge(dest,x,y, css->objects[i].d1, css->objects[i].d2, css->objects[i].colortype1, ((css->objects[i].d10&1)?1:0), css->objects[i].d3, css->objects[i].color1, ((css->objects[i].d10&2)?1:0),
4293 9563061 css->objects[i].d4, css->objects[i].colortype2, ((css->objects[i].d10&4)?1:0), css->objects[i].d5, css->objects[i].color2, ((css->objects[i].d10&8)?1:0), css->objects[i].d6, css->objects[i].d7, css->objects[i].d8, ((css->objects[i].d10&16)?1:0),
4294 9563061 css->objects[i].d9);
4295 }
4296 9563061 break;
4297
4298 case ssoLIFEGAUGE:
4299 {
4300 37578064 lifegauge(dest,x,y, css->objects[i].d1, css->objects[i].d2, css->objects[i].colortype1, ((css->objects[i].d10&1)?1:0), css->objects[i].d3, css->objects[i].color1, ((css->objects[i].d10&2)?1:0),
4301 18789032 css->objects[i].d4, css->objects[i].colortype2, ((css->objects[i].d10&4)?1:0), css->objects[i].d5, css->objects[i].color2, ((css->objects[i].d10&8)?1:0), css->objects[i].d6, css->objects[i].d7, css->objects[i].d8, ((css->objects[i].d10&16)?1:0));
4302 }
4303 18789032 break;
4304
4305 default:
4306 {
4307 }
4308 break;
4309 }
4310
4311 //sso_bounding_box(dest, css, i, vc(15));
4312 149903257 }
4313 150662077 }
4314 6462630 }
4315
4316
4317 12407521 void buttonitem(BITMAP *dest, int32_t button, int32_t x, int32_t y)
4318 {
4319
4/5
✗ Branch 0 not taken.
✓ Branch 1 taken 6118220 times.
✓ Branch 2 taken 6120451 times.
✓ Branch 3 taken 84425 times.
✓ Branch 4 taken 84425 times.
12407521 switch(button)
4320 {
4321 case 0: //A button
4322
4/4
✓ Branch 0 taken 6067079 times.
✓ Branch 1 taken 51141 times.
✓ Branch 2 taken 9924 times.
✓ Branch 3 taken 6057155 times.
6118220 if(Aitem&&show_subscreen_items)
4323 {
4324 6057155 Aitem->x=x;
4325 6057155 Aitem->y=y;
4326
4327
1/2
✓ Branch 0 taken 6057155 times.
✗ Branch 1 not taken.
6057155 switch(itemsbuf[Aitem->id].family)
4328 {
4329 case itype_arrow:
4330 if(Aitem->dummy_bool[0]==true)
4331 {
4332 if(current_item_id(itype_bow)>-1)
4333 {
4334 subscreenitem(dest, x, y, itype_bow);
4335 if(get_bit(quest_rules,qr_NEVERDISABLEAMMOONSUBSCREEN)) break;
4336 if(!checkmagiccost(Aitem->id)) return;
4337 }
4338 }
4339
4340 break;
4341 }
4342
4343 6057155 Aitem->drawzcboss(dest);
4344 6057155 }
4345
4346 6118220 break;
4347
4348 case 1: //B button
4349
4/4
✓ Branch 0 taken 5926876 times.
✓ Branch 1 taken 193575 times.
✓ Branch 2 taken 9924 times.
✓ Branch 3 taken 5916952 times.
6120451 if(Bitem&&show_subscreen_items)
4350 {
4351 5916952 Bitem->x=x;
4352 5916952 Bitem->y=y;
4353
4354
2/2
✓ Branch 0 taken 5706457 times.
✓ Branch 1 taken 210495 times.
5916952 switch(itemsbuf[Bitem->id].family)
4355 {
4356 case itype_arrow:
4357
2/4
✓ Branch 0 taken 210495 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 210495 times.
✗ Branch 3 not taken.
210495 if(Bitem && Bitem->dummy_bool[0]==true)
4358 {
4359 if(current_item_id(itype_bow)>-1)
4360 {
4361 subscreenitem(dest, x, y, itype_bow);
4362 if(get_bit(quest_rules,qr_NEVERDISABLEAMMOONSUBSCREEN)) break;
4363 if(!checkmagiccost(Bitem->id)) return;
4364 }
4365 }
4366
4367 210495 break;
4368 }
4369
4370 5916952 Bitem->drawzcboss(dest);
4371 5916952 }
4372
4373 6120451 break;
4374
4375 case 2: //X button
4376
3/4
✓ Branch 0 taken 23307 times.
✓ Branch 1 taken 61118 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 23307 times.
84425 if(Xitem&&show_subscreen_items)
4377 {
4378 //Y button
4379 //zprint2("Drawing X Item\n");
4380 23307 Xitem->x=x;
4381 23307 Xitem->y=y;
4382
4383
1/2
✓ Branch 0 taken 23307 times.
✗ Branch 1 not taken.
23307 switch(itemsbuf[Xitem->id].family)
4384 {
4385 case itype_arrow:
4386 if(Xitem && Xitem->dummy_bool[0]==true)
4387 {
4388 if(current_item_id(itype_bow)>-1)
4389 {
4390 subscreenitem(dest, x, y, itype_bow);
4391 if(get_bit(quest_rules,qr_NEVERDISABLEAMMOONSUBSCREEN)) break;
4392 if(!checkmagiccost(Xitem->id)) return;
4393 }
4394 }
4395
4396 break;
4397 }
4398
4399 23307 Xitem->drawzcboss(dest);
4400 23307 }
4401 //else zprint2("Xitem is NULL\n");
4402
4403 84425 break;
4404
4405 case 3:
4406
3/4
✓ Branch 0 taken 71047 times.
✓ Branch 1 taken 13378 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 71047 times.
84425 if(Yitem&&show_subscreen_items)
4407 {
4408 //Y button
4409 //zprint2("Drawing Y Item\n");
4410 71047 Yitem->x=x;
4411 71047 Yitem->y=y;
4412
4413
1/2
✓ Branch 0 taken 71047 times.
✗ Branch 1 not taken.
71047 switch(itemsbuf[Yitem->id].family)
4414 {
4415 case itype_arrow:
4416 if(Yitem && Yitem->dummy_bool[0]==true)
4417 {
4418 if(current_item_id(itype_bow)>-1)
4419 {
4420 subscreenitem(dest, x, y, itype_bow);
4421 if(get_bit(quest_rules,qr_NEVERDISABLEAMMOONSUBSCREEN)) break;
4422 if(!checkmagiccost(Yitem->id)) return;
4423 }
4424 }
4425
4426 break;
4427 }
4428
4429 71047 Yitem->drawzcboss(dest);
4430 71047 }
4431 //else zprint2("Yitem is NULL\n");
4432
4433 84425 break;
4434
4435 default:
4436 break;
4437 }
4438 12407521 }
4439
4440 3644310 void defaultcounters(BITMAP *dest, int32_t x, int32_t y, FONT *tempfont, int32_t color, int32_t shadowcolor, int32_t bgcolor, bool usex, int32_t textstyle, int32_t digits, char idigit)
4441 {
4442
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 3644310 times.
✓ Branch 2 taken 1917386 times.
✓ Branch 3 taken 1726924 times.
3644310 int32_t yofs = (game==NULL || (game->get_sbombs() && current_item_id(itype_sbomb)>-1)) ? 8 : 0;
4443
4444 //88, 16
4445 3644310 overtile8(dest,5,x,y,1,0);
4446 3644310 overtile8(dest,8,x,y+16-yofs,1,0);
4447 3644310 overtile8(dest,9,x,y+24-yofs,0,0);
4448
4449
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3644310 times.
3644310 if(game)
4450 {
4451 3644310 bool magickey = false;
4452 3644310 int32_t itemid = current_item_id(itype_magickey);
4453
4454
2/2
✓ Branch 0 taken 3019754 times.
✓ Branch 1 taken 624556 times.
3644310 if(itemid>-1)
4455 {
4456
1/2
✓ Branch 0 taken 624556 times.
✗ Branch 1 not taken.
624556 if(itemsbuf[itemid].flags&ITEM_FLAG1)
4457 624556 magickey = itemsbuf[itemid].power>=get_dlevel();
4458 else
4459 magickey = itemsbuf[itemid].power==get_dlevel();
4460 624556 }
4461
4462 3644310 putxnum(dest,x+8,y,game->get_rupies(),tempfont,color,shadowcolor,bgcolor,textstyle,usex,digits,current_item_power(itype_wallet)>0,idigit);
4463 3644310 putxnum(dest,x+8,y+16-yofs,game->get_keys()+game->get_lkeys(),tempfont,color,shadowcolor,bgcolor, textstyle,usex,digits,magickey,idigit);
4464 3644310 putxnum(dest,x+8,y+24-yofs,game->get_bombs(),tempfont,color,shadowcolor,bgcolor,textstyle,usex,digits,current_item_power(itype_bombbag)>0,idigit);
4465 3644310 }
4466
4467
5/6
✓ Branch 0 taken 3644310 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1726924 times.
✓ Branch 3 taken 1917386 times.
✓ Branch 4 taken 1724284 times.
✓ Branch 5 taken 2640 times.
3644310 if(game==NULL || (game->get_sbombs() && current_item_id(itype_sbomb)>-1))
4468 {
4469 1724284 overtile8(dest,13,x,y+24,1,0);
4470
4471
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1724284 times.
1724284 if(game)
4472 {
4473 1724284 int32_t itemid = current_item_id(itype_bombbag);
4474
3/4
✓ Branch 0 taken 739880 times.
✓ Branch 1 taken 984404 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 739880 times.
1724284 bool superbomb = (itemid>=0 && itemsbuf[itemid].power>0 && itemsbuf[itemid].flags & ITEM_FLAG1);
4475
4476 1724284 putxnum(dest,x+8,y+24,game->get_sbombs(),tempfont,color,shadowcolor,bgcolor,textstyle,usex,digits,superbomb,idigit);
4477 1724284 }
4478 1724284 }
4479 3644310 }
4480
4481 10003597 bool is_counter_item(int32_t itemtype, int32_t countertype)
4482 {
4483 10003597 itemdata const& itm = itemsbuf[itemtype];
4484 10003597 int32_t ctr = scounter_to_ctr(countertype);
4485
1/2
✓ Branch 0 taken 10003597 times.
✗ Branch 1 not taken.
10003597 if(ctr == crNONE) return false;
4486
3/4
✓ Branch 0 taken 10003597 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 48838 times.
✓ Branch 3 taken 9954759 times.
10003597 if(ctr == itm.cost_counter[0] ||
4487 10003597 ctr == itm.cost_counter[1])
4488 48838 return true;
4489 9954759 return false;
4490 10003597 }
4491
4492 // itemtype1, itemtype2, itemtype3: Only itemtype1 is used. I'm unsure who made these, who disabled the code
4493 // for them, and when each occurred. They should probably be hidden, but some very old 2.11/2.50b quests
4494 // may have used this and we'd need to edit the uest to fix it as-is, so perrhaps hide them only conditionally?
4495 // or make them flipping work?
4496 // It seems that the original intent was to be able to display a sum of multipe counters as one value. -Z (26th Jan, 2020).
4497 34931000 void counter(BITMAP *dest, int32_t x, int32_t y, FONT *tempfont, int32_t color, int32_t shadowcolor, int32_t bgcolor, int32_t alignment, int32_t textstyle, int32_t digits, char idigit, bool showzero, int32_t itemtype1, int32_t itemtype2, int32_t itemtype3, int32_t infiniteitem, bool onlyselected)
4498 {
4499 34931000 int32_t value=0;
4500 34931000 bool infinite=false;
4501 34931000 int32_t itemtypes[3]={itemtype1, itemtype2, itemtype3};
4502
4503
5/6
✓ Branch 0 taken 14213506 times.
✓ Branch 1 taken 20717494 times.
✓ Branch 2 taken 334353 times.
✓ Branch 3 taken 13879153 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 334353 times.
34931000 if(game != NULL && game->get_item(infiniteitem) && !item_disabled(infiniteitem))
4504 {
4505 334353 infinite=true;
4506 334353 }
4507
4508 char valstring[80];
4509 char formatstring[80];
4510 34931000 sprintf(valstring,"01234567890123456789");
4511 34931000 sprintf(formatstring, "%%0%dd", digits);
4512
4513
13/16
✓ Branch 0 taken 1852376 times.
✓ Branch 1 taken 32266260 times.
✓ Branch 2 taken 1634728 times.
✓ Branch 3 taken 217648 times.
✓ Branch 4 taken 1585890 times.
✓ Branch 5 taken 48838 times.
✓ Branch 6 taken 1585890 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1732363 times.
✓ Branch 9 taken 3318253 times.
✓ Branch 10 taken 1732363 times.
✓ Branch 11 taken 1803538 times.
✓ Branch 12 taken 1732363 times.
✗ Branch 13 not taken.
✓ Branch 14 taken 1732363 times.
✗ Branch 15 not taken.
34931000 if(onlyselected && !(((Bitem&&(is_counter_item(Bitem->id,itemtype1)||is_counter_item(Bitem->id,itemtype2)||is_counter_item(Bitem->id,itemtype3)))||(Aitem&&(is_counter_item(Aitem->id,itemtype1)||is_counter_item(Aitem->id,itemtype2)||is_counter_item(Aitem->id,itemtype3))))))
4514 {
4515 1803538 return;
4516 }
4517
4518 int32_t itemtype;
4519 /*
4520 for (int32_t i=0; i<3; ++i)
4521 {
4522 switch (i)
4523 {
4524 case 0:
4525 itemtype=itemtype1;
4526 break;
4527 case 1:
4528 itemtype=itemtype2;
4529 break;
4530 case 2:
4531 itemtype=itemtype3;
4532 break;
4533 }
4534 */
4535 35779824 itemtype=itemtype1;
4536 /* commented out until I find out what it does - it's messing up custom subscreens now as
4537 itemtype2 and 3 are zero - so hero's life gets added to the counters */
4538
4539 /*
4540 Not sure who did that, but I implemented it in its own section, ignoring counter0] for now.
4541 It will need a format change to counter lists in order to allow stacking LIFE on other counters.
4542 For the present, counter 0 for item2 and item3 is NULL. -Z (26-Jan-2020)
4543 */
4544
4545
4546
7/12
✓ Branch 0 taken 24613391 times.
✓ Branch 1 taken 2545813 times.
✓ Branch 2 taken 209122 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2480872 times.
✓ Branch 5 taken 1988456 times.
✓ Branch 6 taken 562752 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 3379418 times.
35779824 switch(itemtype)
4547 {
4548 case sscRUPEES:
4549
1/2
✓ Branch 0 taken 2480872 times.
✗ Branch 1 not taken.
2480872 if(current_item_power(itype_wallet))
4550 infinite=true;
4551
4552 2480872 value+=game->get_rupies();
4553 2480872 break;
4554
4555 case sscBOMBS:
4556
2/2
✓ Branch 0 taken 1970154 times.
✓ Branch 1 taken 18302 times.
1988456 if(current_item_power(itype_bombbag))
4557 18302 infinite=true;
4558
4559 1988456 value+=game->get_bombs();
4560 1988456 break;
4561
4562 case sscSBOMBS:
4563 {
4564 562752 int32_t itemid = current_item_id(itype_bombbag);
4565
4566
4/6
✓ Branch 0 taken 14852 times.
✓ Branch 1 taken 547900 times.
✓ Branch 2 taken 14852 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 14852 times.
✗ Branch 5 not taken.
562752 if(itemid>-1 && itemsbuf[itemid].power>0 && itemsbuf[itemid].flags & ITEM_FLAG1)
4567 14852 infinite=true;
4568
4569 562752 value+=game->get_sbombs();
4570 562752 break;
4571 }
4572
4573 case sscLIFE:
4574 {
4575 value+=game->get_life();
4576 break;
4577 }
4578 case sscMAGIC:
4579 {
4580 value+=game->get_magic();
4581 break;
4582 }
4583
4584 case sscMAXHP:
4585 {
4586 value+=game->get_maxlife();
4587 break;
4588 }
4589 case sscMAXMP:
4590 {
4591 value+=game->get_maxmagic();
4592 break;
4593 }
4594
4595 case sscARROWS:
4596
4/4
✓ Branch 0 taken 574325 times.
✓ Branch 1 taken 2805093 times.
✓ Branch 2 taken 589148 times.
✓ Branch 3 taken 2215945 times.
3379418 if((!get_bit(quest_rules,qr_TRUEARROWS) && current_item_power(itype_wallet)) || current_item_power(itype_quiver))
4597 1163473 infinite=true;
4598
4599 // If Hero somehow got ammunition before getting the arrow,
4600 // or if the arrow was disabled in a DMap,
4601 // we shouldn't put the value as zero.
4602 // if(/*current_item_id(itype_arrow)>-1*/ true)
4603 {
4604
2/2
✓ Branch 0 taken 1656443 times.
✓ Branch 1 taken 574325 times.
2230768 if(get_bit(quest_rules,qr_TRUEARROWS))
4605 {
4606 1656443 value+=game->get_arrows();
4607 1656443 }
4608 else
4609 {
4610 574325 value+=game->get_rupies();
4611 }
4612 }
4613 2230768 break;
4614
4615 case sscGENKEYMAGIC:
4616 case sscLEVKEYMAGIC:
4617 case sscANYKEYMAGIC:
4618 {
4619 2545813 int32_t itemid = current_item_id(itype_magickey);
4620
4621
3/4
✓ Branch 0 taken 246555 times.
✓ Branch 1 taken 2299258 times.
✓ Branch 2 taken 246555 times.
✗ Branch 3 not taken.
2545813 if(itemid>-1 && !infinite)
4622 {
4623 if(itemsbuf[itemid].flags&ITEM_FLAG1)
4624 infinite = itemsbuf[itemid].power>=get_dlevel();
4625 else
4626 infinite = itemsbuf[itemid].power==get_dlevel();
4627 }
4628 2545813 }
4629
4630 //fall through
4631 case sscANYKEYNOMAGIC:
4632 case sscLEVKEYNOMAGIC:
4633 case sscGENKEYNOMAGIC:
4634
2/4
✓ Branch 0 taken 2754935 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2192402 times.
4947337 if(itemtype == sscGENKEYNOMAGIC || itemtype == sscANYKEYNOMAGIC
4635
3/4
✓ Branch 0 taken 2754935 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 2192402 times.
✓ Branch 3 taken 562533 times.
2754935 || itemtype == sscGENKEYMAGIC || itemtype == sscANYKEYMAGIC)
4636 562533 value += game->get_keys();
4637
4638
3/4
✓ Branch 0 taken 2545813 times.
✓ Branch 1 taken 209122 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 562533 times.
3317468 if(itemtype == sscLEVKEYNOMAGIC || itemtype == sscANYKEYNOMAGIC
4639
3/4
✓ Branch 0 taken 2545813 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 562533 times.
✓ Branch 3 taken 1983280 times.
2545813 || itemtype == sscLEVKEYMAGIC || itemtype == sscANYKEYMAGIC)
4640 2192402 value += game->get_lkeys();
4641
4642 2754935 break;
4643
4644 case sscSCRIPT1:
4645 case sscSCRIPT2:
4646 case sscSCRIPT3:
4647 case sscSCRIPT4:
4648 case sscSCRIPT5:
4649 case sscSCRIPT6:
4650 case sscSCRIPT7:
4651 case sscSCRIPT8:
4652 case sscSCRIPT9:
4653 case sscSCRIPT10:
4654 case sscSCRIPT11:
4655 case sscSCRIPT12:
4656 case sscSCRIPT13:
4657 case sscSCRIPT14:
4658 case sscSCRIPT15:
4659 case sscSCRIPT16:
4660 case sscSCRIPT17:
4661 case sscSCRIPT18:
4662 case sscSCRIPT19:
4663 case sscSCRIPT20:
4664 case sscSCRIPT21:
4665 case sscSCRIPT22:
4666 case sscSCRIPT23:
4667 case sscSCRIPT24:
4668 case sscSCRIPT25:
4669 24613391 value += game->get_counter(itemtype-3);
4670 24613391 break;
4671
4672 default:
4673 break;
4674 }
4675
4676 //Re-implement item2 and item3 stacking counters. -Z 26-Jan-2020
4677
4/4
✓ Branch 0 taken 11459673 times.
✓ Branch 1 taken 23171501 times.
✓ Branch 2 taken 11711828 times.
✓ Branch 3 taken 11459673 times.
34631174 if ( /*get_bit(quest_rules,qrSTACKSUBSCREENCOUNTERS) || (*/( FFCore.getQuestHeaderInfo(vZelda) == 0x250 && FFCore.getQuestHeaderInfo(vBuild) >= 33 ) //this ishowit looks in 2.53.1, Beta 25
4678 34631174 || ( FFCore.getQuestHeaderInfo(vZelda) > 0x250 ) ) /*)*/
4679
4680 {
4681 //add item2 and item3 values to item1 values
4682
2/2
✓ Branch 0 taken 1900590 times.
✓ Branch 1 taken 950295 times.
25072091 for (int32_t i=1; i<3; ++i)
4683 {
4684
4685
2/3
✗ Branch 0 not taken.
✓ Branch 1 taken 950295 times.
✓ Branch 2 taken 950295 times.
1900590 switch (i)
4686 {
4687 case 1:
4688 {
4689
2/2
✓ Branch 0 taken 491292 times.
✓ Branch 1 taken 459003 times.
950295 if ( itemtypes[i] == itemtypes[i-1] )
4690 {
4691 491292 itemtype = -2;
4692 491292 break;
4693 }
4694 else
4695 {
4696 459003 itemtype=itemtype2;
4697 459003 break;
4698 }
4699 }
4700 case 2:
4701 {
4702
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 950295 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
950295 if ( ( itemtypes[i] == itemtypes[i-1] ) || ( itemtypes[i] == itemtypes[i-2] ) )
4703 {
4704 950295 itemtype = -3;
4705 950295 break;
4706 }
4707 else
4708 {
4709 itemtype=itemtype3;
4710 break;
4711 }
4712
4713 }
4714 }
4715
4716
1/11
✗ Branch 0 not taken.
✓ Branch 1 taken 1900590 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
1900590 switch(itemtype)
4717 {
4718 case -3:
4719 case -2:
4720 case sscLIFE:
4721 case sscRUPEES:
4722 {
4723 //do nothing if any of these three. -Z
4724 //value+=game->get_life(); Life cannot stack. It's NULL. :/
4725 1900590 break;
4726 }
4727 //case sscRUPEES:
4728 //{
4729 // if(current_item_power(itype_wallet))
4730 // infinite=true;
4731 // value+=game->get_rupies();
4732 // break;
4733 //}
4734 case sscBOMBS:
4735 {
4736 if(current_item_power(itype_bombbag))
4737 infinite=true;
4738 value+=game->get_bombs();
4739 break;
4740 }
4741 case sscSBOMBS:
4742 {
4743 int32_t itemid = current_item_id(itype_bombbag);
4744 if(itemid>-1 && itemsbuf[itemid].power>0 && itemsbuf[itemid].flags & ITEM_FLAG1)
4745 infinite=true;
4746 value+=game->get_sbombs();
4747 break;
4748 }
4749 case sscMAGIC:
4750 {
4751 value+=game->get_magic();
4752 break;
4753 }
4754 case sscMAXHP:
4755 {
4756 value+=game->get_maxlife();
4757 break;
4758 }
4759 case sscMAXMP:
4760 {
4761 value+=game->get_maxmagic();
4762 break;
4763 }
4764 case sscARROWS:
4765 if((!get_bit(quest_rules,qr_TRUEARROWS) && current_item_power(itype_wallet)) || current_item_power(itype_quiver))
4766 infinite=true;
4767
4768 // If Hero somehow got ammunition before getting the arrow,
4769 // or if the arrow was disabled in a DMap,
4770 // we shouldn't put the value as zero.
4771 // if(/*current_item_id(itype_arrow)>-1*/ true)
4772 {
4773 if(get_bit(quest_rules,qr_TRUEARROWS))
4774 {
4775 value+=game->get_arrows();
4776 }
4777 else
4778 {
4779 value+=game->get_rupies();
4780 }
4781 }
4782 break;
4783
4784 case sscGENKEYMAGIC:
4785 case sscLEVKEYMAGIC:
4786 case sscANYKEYMAGIC:
4787 {
4788 int32_t itemid = current_item_id(itype_magickey);
4789 if(itemid>-1 && !infinite)
4790 {
4791 if(itemsbuf[itemid].flags&ITEM_FLAG1)
4792 {
4793 infinite = itemsbuf[itemid].power>=get_dlevel();
4794 }
4795 else
4796 {
4797 infinite = itemsbuf[itemid].power==get_dlevel();
4798 }
4799 }
4800 }
4801
4802 //fall through
4803 case sscANYKEYNOMAGIC:
4804 case sscLEVKEYNOMAGIC:
4805 case sscGENKEYNOMAGIC:
4806 if(itemtype == sscGENKEYNOMAGIC || itemtype == sscANYKEYNOMAGIC
4807 || itemtype == sscGENKEYMAGIC || itemtype == sscANYKEYMAGIC)
4808 {
4809 value += game->get_keys();
4810 }
4811
4812 if(itemtype == sscLEVKEYNOMAGIC || itemtype == sscANYKEYNOMAGIC
4813 || itemtype == sscLEVKEYMAGIC || itemtype == sscANYKEYMAGIC)
4814 {
4815 value += game->get_lkeys();
4816 }
4817 break;
4818
4819 case sscSCRIPT1:
4820 case sscSCRIPT2:
4821 case sscSCRIPT3:
4822 case sscSCRIPT4:
4823 case sscSCRIPT5:
4824 case sscSCRIPT6:
4825 case sscSCRIPT7:
4826 case sscSCRIPT8:
4827 case sscSCRIPT9:
4828 case sscSCRIPT10:
4829 case sscSCRIPT11:
4830 case sscSCRIPT12:
4831 case sscSCRIPT13:
4832 case sscSCRIPT14:
4833 case sscSCRIPT15:
4834 case sscSCRIPT16:
4835 case sscSCRIPT17:
4836 case sscSCRIPT18:
4837 case sscSCRIPT19:
4838 case sscSCRIPT20:
4839 case sscSCRIPT21:
4840 case sscSCRIPT22:
4841 case sscSCRIPT23:
4842 case sscSCRIPT24:
4843 case sscSCRIPT25:
4844 {
4845 value += game->get_counter(itemtype-3);
4846 break;
4847 }
4848
4849 default:
4850 {
4851 break;
4852 }
4853 }
4854
4855 1900590 }
4856 950295 }
4857
4858 // (for loop) }
4859
5/6
✓ Branch 0 taken 1153880 times.
✓ Branch 1 taken 11256088 times.
✓ Branch 2 taken 990683 times.
✓ Branch 3 taken 163197 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 990683 times.
12409968 if(!showzero&&!value&&!infinite)
4860 {
4861 990683 return;
4862 }
4863
4864
2/2
✓ Branch 0 taken 294532 times.
✓ Branch 1 taken 11124753 times.
11419285 if(infinite)
4865 {
4866 294532 sprintf(valstring, "%c", idigit);
4867 294532 }
4868 else
4869 {
4870 11124753 sprintf(valstring, formatstring, value);
4871 }
4872
4873 11419285 textout_styled_aligned_ex(dest,tempfont,valstring,x,y,textstyle,alignment,color,shadowcolor,bgcolor);
4874
4875 // putxnum(dest,x+8,y,game->get_rupies(),tempfont,color,shadowcolor,bgcolor,shadowed,usex,digits,0,idigit);
4876 14213506 }
4877
4878 5587510 void minimaptitle(BITMAP *dest, int32_t x, int32_t y, FONT *tempfont, int32_t color, int32_t shadowcolor, int32_t bgcolor, int32_t alignment, int32_t textstyle)
4879 {
4880 char dmaptitlesource[2][11];
4881 char dmaptitle[2][11];
4882 5587510 sprintf(dmaptitlesource[0], "%.10s", DMaps[get_currdmap()].title);
4883 5587510 sprintf(dmaptitlesource[1], "%.10s", DMaps[get_currdmap()].title+10);
4884
4885 5587510 int32_t title_len1=stripspaces(dmaptitlesource[0], dmaptitle[0], 10);
4886 5587510 int32_t title_len2=stripspaces(dmaptitlesource[1], dmaptitle[1], 10);
4887
4888
3/4
✓ Branch 0 taken 537664 times.
✓ Branch 1 taken 5049846 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 537664 times.
5587510 if((title_len1>0)||(title_len2>0))
4889 {
4890
3/4
✓ Branch 0 taken 5049846 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4028390 times.
✓ Branch 3 taken 1021456 times.
5049846 if((title_len1>0)&&(title_len2>0))
4891 {
4892 1021456 textprintf_styled_aligned_ex(dest,tempfont,x,y+8,textstyle,alignment,color,shadowcolor,bgcolor,"%s",dmaptitle[1]);
4893 1021456 textprintf_styled_aligned_ex(dest,tempfont,x,y,textstyle,alignment,color,shadowcolor,bgcolor,"%s",dmaptitle[0]);
4894 1021456 }
4895 else
4896 {
4897
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 4028390 times.
4028390 if(title_len1>0)
4898 {
4899 4028390 textprintf_styled_aligned_ex(dest,tempfont,x,y+8,textstyle,alignment,color,shadowcolor,bgcolor,"%s",dmaptitle[0]);
4900 4028390 }
4901 else
4902 {
4903 textprintf_styled_aligned_ex(dest,tempfont,x,y+8,textstyle,alignment,color,shadowcolor,bgcolor,"%s",dmaptitle[1]);
4904 }
4905 }
4906 5049846 }
4907 5587510 }
4908
4909 6303010 void put_passive_subscr(BITMAP *dest,miscQdata *misc,int32_t x,int32_t y,bool showtime,int32_t pos2)
4910 {
4911 // uncomment this?
4912 // load_Sitems();
4913 6303010 Sitems.animate();
4914 6303010 update_subscr_items();
4915 6303010 BITMAP *subscr = create_sub_bitmap(dest,x,y,256,passive_subscreen_height);
4916
4917
2/2
✓ Branch 0 taken 24832 times.
✓ Branch 1 taken 6278178 times.
6303010 if(no_subscreen())
4918 {
4919 24832 clear_to_color(subscr,0);
4920 24832 destroy_bitmap(subscr);
4921 24832 return;
4922 }
4923
4924 6278178 show_custom_subscreen(subscr, misc, current_subscreen_passive, 0, 0, showtime, pos2);
4925 6278178 destroy_bitmap(subscr);
4926 6303010 }
4927
4928 /*
4929 const byte tripiece[8*3] =
4930 {
4931 112,112,0, 128,112,1, 96,128,0, 144,128,1,
4932 112,128,2, 112,128,1, 128,128,3, 128,128,0
4933 };
4934 */
4935
4936 32535 void puttriframe(BITMAP *dest, miscQdata *misc, int32_t x, int32_t y, int32_t triframecolor, int32_t numbercolor, int32_t triframetile, int32_t triframecset, int32_t triforcetile, int32_t triforcecset, bool showframe, bool showpieces, bool largepieces)
4937 {
4938
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 32535 times.
32535 if(triframetile==0)
4939 {
4940 32535 triframetile=misc->colors.triframe_tile;
4941 32535 triframecset=misc->colors.triframe_cset;
4942 32535 }
4943
4944
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 32535 times.
32535 if(triforcetile==0)
4945 {
4946 32535 triforcetile=misc->colors.triforce_tile;
4947 32535 triforcecset=misc->colors.triforce_cset;
4948 32535 }
4949
4950
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 32535 times.
32535 if(!largepieces)
4951 {
4952
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 32535 times.
32535 if(showframe)
4953 {
4954
2/2
✓ Branch 0 taken 25740 times.
✓ Branch 1 taken 6795 times.
32535 if(triframetile)
4955 {
4956 25740 draw_block(dest,x,y,triframetile,triframecset,6,3);
4957 25740 }
4958 else
4959 {
4960 6795 line(dest,x+47,y,x+1,y+46,triframecolor);
4961 6795 line(dest,x+48,y,x+94,y+46,triframecolor);
4962 6795 _allegro_hline(dest,x,y+47,x+95,triframecolor);
4963 6795 line(dest,x+47,y+7,x+15,y+39,triframecolor);
4964 6795 line(dest,x+48,y+7,x+80,y+39,triframecolor);
4965 6795 _allegro_hline(dest,x+15,y+40,x+80,triframecolor);
4966 }
4967 32535 }
4968
4969
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 32535 times.
32535 if(showpieces)
4970 {
4971
2/2
✓ Branch 0 taken 260280 times.
✓ Branch 1 taken 32535 times.
292815 for(int32_t i=0; i<8; i++)
4972 {
4973 260280 int32_t lvl = i+1;
4974
4975
4/4
✓ Branch 0 taken 168656 times.
✓ Branch 1 taken 91624 times.
✓ Branch 2 taken 84328 times.
✓ Branch 3 taken 84328 times.
260280 if(get_bit(quest_rules,qr_4TRI) && lvl>4)
4976 84328 lvl -= 4;
4977
4978
2/2
✓ Branch 0 taken 152749 times.
✓ Branch 1 taken 107531 times.
260280 if(has_item(itype_triforcepiece, lvl))
4979 {
4980 107531 int32_t tp=0;
4981
4982
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 406556 times.
406556 for(; tp<8; tp++)
4983
2/2
✓ Branch 0 taken 299025 times.
✓ Branch 1 taken 107531 times.
406556 if(misc->triforce[tp] == i+1)
4984 107531 break;
4985
4986 107531 overtile16(dest,triforcetile,x+tripiece[0][tp][0],y+tripiece[0][tp][1],triforcecset,tripiece[0][tp][2]);
4987 107531 }
4988 260280 }
4989 32535 }
4990 32535 }
4991 else
4992 {
4993 if(showframe)
4994 {
4995 if(triframetile)
4996 {
4997 draw_block(dest,x,y,triframetile,triframecset,7,7);
4998 }
4999 else
5000 {
5001 if(!get_bit(quest_rules,qr_4TRI))
5002 {
5003 //left inside vertical
5004 _allegro_vline(dest,x+31,y+56,y+103,triframecolor);
5005 _allegro_vline(dest,x+32,y+56,y+103,triframecolor);
5006
5007 //center inside vertical top
5008 _allegro_vline(dest,x+55,y+8 ,y+55,triframecolor);
5009 _allegro_vline(dest,x+56,y+8 ,y+55,triframecolor);
5010
5011 //right inside vertical
5012 _allegro_vline(dest,x+79,y+56,y+103,triframecolor);
5013 _allegro_vline(dest,x+80,y+56,y+103,triframecolor);
5014
5015 if(!get_bit(quest_rules,qr_3TRI))
5016 {
5017 //center inside vertical bottom
5018 _allegro_vline(dest,x+55,y+56,y+103,triframecolor);
5019 _allegro_vline(dest,x+56,y+56,y+103,triframecolor);
5020 }
5021 }
5022
5023 //middle inside horizontal
5024 _allegro_hline(dest,x+32,y+55,x+79,triframecolor);
5025 _allegro_hline(dest,x+32,y+56,x+79,triframecolor);
5026
5027 //bottom outside horizontal
5028 _allegro_hline(dest,x+8,y+103,x+103,triframecolor);
5029
5030 //left outside diagonal
5031 line(dest,x+8,y+103,x+55,y+8,triframecolor);
5032 line(dest,x+9,y+102,x+55,y+9,triframecolor);
5033
5034 //right outside diagonal
5035 line(dest,x+56,y+8,x+103,y+103,triframecolor);
5036 line(dest,x+56,y+9,x+102,y+102,triframecolor);
5037
5038 //left inside diagonal
5039 line(dest,x+32,y+56,x+55,y+103,triframecolor);
5040 line(dest,x+32,y+57,x+54,y+102,triframecolor);
5041 line(dest,x+32,y+55,x+55,y+102,triframecolor);
5042
5043 //right inside diagonal
5044 line(dest,x+56,y+103,x+79,y+56,triframecolor);
5045 line(dest,x+57,y+102,x+79,y+57,triframecolor);
5046 line(dest,x+56,y+102,x+79,y+55,triframecolor);
5047
5048 for(int32_t i=0; i<8; i++)
5049 {
5050 int32_t lvl = i+1;
5051
5052 if(get_bit(quest_rules,qr_4TRI) && lvl>4)
5053 {
5054 lvl -= 4;
5055 }
5056
5057 int32_t tp=0;
5058
5059 for(; tp<8; tp++)
5060 {
5061 if(misc->triforce[tp] == i+1)
5062 {
5063 break;
5064 }
5065 }
5066
5067 if(!has_item(itype_triforcepiece, lvl))
5068 {
5069 textprintf_ex(dest, pfont, x+tripiece[1][tp][0]+((tripiece[1][tp][2]&1)?8:14),y+tripiece[1][tp][1]+((tripiece[1][tp][2]&2)?9:32), numbercolor, -1, "%d", lvl);
5070 }
5071 }
5072 }
5073 }
5074
5075 if(showpieces)
5076 {
5077 for(int32_t i=0; i<8; i++)
5078 {
5079 int32_t lvl = i+1;
5080
5081 if(get_bit(quest_rules,qr_4TRI) && lvl>4)
5082 {
5083 lvl -= 4;
5084 }
5085
5086 int32_t tp=0;
5087
5088 for(; tp<8; tp++)
5089 {
5090 if(misc->triforce[tp] == i+1)
5091 {
5092 break;
5093 }
5094 }
5095
5096 if(has_item(itype_triforcepiece, lvl))
5097 {
5098 draw_block_flip(dest,x+tripiece[1][tp][0]-(tripiece[1][tp][2]&1?0:8),y+tripiece[1][tp][1],triforcetile,triforcecset,2,3,tripiece[1][tp][2],1,0);
5099 }
5100 }
5101 }
5102 }
5103 32535 }
5104
5105
5106 void puttriforce(BITMAP *dest, miscQdata *misc, int32_t x, int32_t y, int32_t tile, int32_t cset, int32_t w, int32_t h, int32_t flip, bool overlay, bool trans, int32_t trinum)
5107 {
5108 if(tile==0)
5109 {
5110 tile=misc->colors.triforce_tile;
5111 cset=misc->colors.triforce_cset;
5112 }
5113
5114 if(trinum <= 8)
5115 {
5116 for(int32_t i=0; i<8; i++)
5117 {
5118 int32_t lvl = i+1;
5119
5120 if(get_bit(quest_rules,qr_4TRI) && lvl>4)
5121 lvl -= 4;
5122
5123 if(lvl==trinum && has_item(itype_triforcepiece, lvl))
5124 {
5125 int32_t tp=0;
5126
5127 for(; tp<8; tp++)
5128 if(misc->triforce[tp] == i+1)
5129 break;
5130
5131 draw_block_flip(dest,x,y,tile,cset,w,h,flip,overlay,trans);
5132 }
5133 }
5134 }
5135 else if(has_item(itype_triforcepiece, trinum))
5136 {
5137 draw_block_flip(dest,x,y,tile,cset,w,h,flip,overlay,trans);
5138 }
5139 }
5140
5141 /*
5142 const byte bmap[16*2] = {
5143 0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,
5144 0,3,0,0,0,3,0,0,0,0,3,0,0,0,3,0 };
5145
5146 const int32_t fringe[8] = { 6,2,4,7,6,8,7,5 };
5147
5148 const byte bmaptiles[8*5] = {
5149 0, 1, 2, 3, 2, 3, 3, 4,
5150 20,21,22,23,22,23,23,24,
5151 20,21,22,23,22,23,23,24,
5152 20,21,22,23,22,23,23,24,
5153 40,41,42,43,42,43,43,44 };
5154 */
5155
5156 void draw_block(BITMAP *dest,int32_t x,int32_t y,int32_t tile,int32_t cset,int32_t w,int32_t h);
5157 173751 void putBmap(BITMAP *dest, miscQdata *misc, int32_t x, int32_t y,bool showmap, bool showrooms, bool showhero, int32_t roomcolor, int32_t herocolor, bool large)
5158 {
5159 173751 int32_t si=0;
5160
5161
2/2
✓ Branch 0 taken 106160 times.
✓ Branch 1 taken 67591 times.
173751 int32_t maptile=has_item(itype_map, get_dlevel())?DMaps[get_currdmap()].largemap_2_tile:DMaps[get_currdmap()].largemap_1_tile;
5162
2/2
✓ Branch 0 taken 106160 times.
✓ Branch 1 taken 67591 times.
173751 int32_t mapcset=has_item(itype_map, get_dlevel())?DMaps[get_currdmap()].largemap_2_cset:DMaps[get_currdmap()].largemap_1_cset;
5163
5164
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 173751 times.
173751 if(showmap)
5165 {
5166
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 173751 times.
173751 if(maptile)
5167 {
5168 draw_block(dest,x,y,maptile,mapcset,large?9:7,5);
5169 }
5170
3/4
✓ Branch 0 taken 90449 times.
✓ Branch 1 taken 83302 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 90449 times.
173751 else if(misc->colors.dungeon_map_tile||misc->colors.dungeon_map_tile)
5171 {
5172
2/2
✓ Branch 0 taken 416510 times.
✓ Branch 1 taken 83302 times.
499812 for(int32_t y2=0; y2<5; y2++)
5173 {
5174
2/2
✓ Branch 0 taken 3332080 times.
✓ Branch 1 taken 416510 times.
3748590 for(int32_t x2=0; x2<(large?8:6); x2++)
5175 {
5176
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 3332080 times.
✓ Branch 2 taken 3332080 times.
✗ Branch 3 not taken.
3332080 overtile16(dest,(misc->colors.dungeon_map_tile!=0?misc->colors.dungeon_map_tile:misc->colors.dungeon_map_tile)+(large?bmaptiles_original[y2][x2]:bmaptiles_bs[y2][x2]),x+(x2<<4),y+(y2<<4),misc->colors.dungeon_map_cset,0);
5177 //++si;
5178 3332080 }
5179 416510 }
5180 83302 }
5181 else
5182 {
5183 90449 BITMAP *bmp = create_bitmap_ex(8,8,8);
5184
5185
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 90449 times.
90449 if(!bmp)
5186 return;
5187
5188 90449 clear_bitmap(bmp);
5189
5190
2/2
✓ Branch 0 taken 723592 times.
✓ Branch 1 taken 90449 times.
814041 for(int32_t x2=0; x2<8; x2++)
5191 {
5192
2/2
✓ Branch 0 taken 4070205 times.
✓ Branch 1 taken 723592 times.
4793797 for(int32_t y2=8-fringe[x2]; y2<8; y2++)
5193 {
5194 4070205 putpixel(bmp,x2,y2,misc->colors.bmap_bg);
5195 4070205 }
5196 723592 }
5197
5198 90449 rectfill(dest,x,y,x+(large?127:95),y+79,misc->colors.bmap_bg);
5199
5200
2/2
✓ Branch 0 taken 180898 times.
✓ Branch 1 taken 90449 times.
271347 for(int32_t y2=0; y2<2; ++y2)
5201 {
5202
2/2
✓ Branch 0 taken 2894368 times.
✓ Branch 1 taken 180898 times.
3075266 for(int32_t x2=0; x2<(large?16:12); ++x2)
5203 {
5204
3/4
✓ Branch 0 taken 2894368 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 2170776 times.
✓ Branch 3 taken 723592 times.
2894368 if((large?bmap_original[y2][x2]:bmap_bs[y2][x2]))
5205 {
5206 723592 rectfill(dest,(x2<<3)+x,(y2*72)+y,(x2<<3)+x+7,(y2*72)+y+7,misc->colors.subscr_bg);
5207
5208
3/5
✓ Branch 0 taken 723592 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 361796 times.
✓ Branch 4 taken 361796 times.
723592 switch((large?bmap_original[y2][x2]:bmap_bs[y2][x2]))
5209 {
5210 case 3:
5211 361796 draw_sprite_v_flip(dest,bmp,(x2<<3)+x,(y2*72)+y);
5212 361796 break;
5213
5214 361796 case 1:
5215 default:
5216 361796 draw_sprite(dest,bmp,(x2<<3)+x,(y2*72)+y);
5217 361796 break;
5218 }
5219 723592 }
5220 2894368 }
5221 180898 }
5222
5223 90449 destroy_bitmap(bmp);
5224 }
5225 173751 }
5226
5227
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 173751 times.
173751 if(showrooms)
5228 {
5229
1/2
✓ Branch 0 taken 173751 times.
✗ Branch 1 not taken.
173751 if(roomcolor==-1)
5230 {
5231 roomcolor = misc->colors.bmap_fg;
5232 }
5233
5234 173751 si=(get_currdmap() << 7);
5235
5236
2/2
✓ Branch 0 taken 1390008 times.
✓ Branch 1 taken 173751 times.
1563759 for(int32_t y2=y+8; y2<y+72; y2+=8)
5237 {
5238
2/2
✓ Branch 0 taken 10302080 times.
✓ Branch 1 taken 1390008 times.
11692088 while(((unsigned)((si&0xF)-DMaps[get_currdmap()].xoff))>7)
5239 10302080 ++si;
5240 1390008 int32_t xoffs = DMaps[get_currdmap()].xoff;
5241
2/2
✓ Branch 0 taken 10727280 times.
✓ Branch 1 taken 1390008 times.
12117288 for(int32_t x2=x+(large?32:16)+(maptile?8:0); x2<x+(large?96:80)+(maptile?8:0); x2+=8)
5242 {
5243
2/2
✓ Branch 0 taken 10377296 times.
✓ Branch 1 taken 349984 times.
10727280 if(xoffs < 0)
5244 {
5245 349984 x2 += (8*-xoffs);
5246 349984 xoffs = 0;
5247 349984 }
5248
2/2
✓ Branch 0 taken 7353276 times.
✓ Branch 1 taken 3374004 times.
10727280 if(get_bmaps(si))
5249 {
5250 3374004 rectfill(dest,x2+1,y2+1,x2+6,y2+6,roomcolor);
5251
5252
2/2
✓ Branch 0 taken 2487375 times.
✓ Branch 1 taken 886629 times.
3374004 if(get_bmaps(si)&1) _allegro_hline(dest,x2+3,y2, x2+4,roomcolor); //top door
5253
5254
2/2
✓ Branch 0 taken 2200242 times.
✓ Branch 1 taken 1173762 times.
3374004 if(get_bmaps(si)&2) _allegro_hline(dest,x2+3,y2+7,x2+4,roomcolor); //bottom door
5255
5256
2/2
✓ Branch 0 taken 2558575 times.
✓ Branch 1 taken 815429 times.
3374004 if(get_bmaps(si)&4) _allegro_vline(dest,x2, y2+3,y2+4,roomcolor); //left door
5257
5258
2/2
✓ Branch 0 taken 2620196 times.
✓ Branch 1 taken 753808 times.
3374004 if(get_bmaps(si)&8) _allegro_vline(dest,x2+7,y2+3,y2+4,roomcolor); //right door
5259 3374004 }
5260
5261 10727280 ++si;
5262 10727280 }
5263
2/2
✓ Branch 0 taken 1040024 times.
✓ Branch 1 taken 349984 times.
1390008 if(DMaps[get_currdmap()].xoff < 0)
5264 {
5265 349984 si -= DMaps[get_currdmap()].xoff;
5266 349984 }
5267 1390008 }
5268 173751 }
5269
5270
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 173751 times.
173751 if(showhero)
5271 {
5272
2/2
✓ Branch 0 taken 19636 times.
✓ Branch 1 taken 154115 times.
173751 if(get_currscr()<MAPSCRSNORMAL)
5273 {
5274
1/2
✓ Branch 0 taken 154115 times.
✗ Branch 1 not taken.
154115 if(herocolor==-1)
5275 {
5276 herocolor=misc->colors.hero_dot;
5277 }
5278
5279
2/2
✓ Branch 0 taken 3340 times.
✓ Branch 1 taken 150775 times.
154115 int32_t xoff = (((DMaps[get_currdmap()].type&dmfTYPE)==dmOVERW) ? 0 : DMaps[get_currdmap()].xoff);
5280 154115 putdot(dest,(((get_homescr()&15)-xoff)<<3)+x+(large?34:18)+(maptile?8:0),((get_homescr()&0xF0)>>1)+y+11,herocolor);
5281 154115 }
5282 173751 }
5283 173751 }
5284
5285
5286 27624 void load_Sitems(miscQdata *misc)
5287 {
5288 27624 Sitems.clear();
5289
5290 // HC Pieces
5291
2/2
✓ Branch 0 taken 5793 times.
✓ Branch 1 taken 21831 times.
27624 if(misc->colors.HCpieces_tile)
5292 {
5293 // item *HCP = new item((zfix)(inventory_x[5]-ofs),(zfix)y,iMax,0,0);
5294
4/8
✓ Branch 0 taken 21831 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 21831 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 21831 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 21831 times.
✗ Branch 7 not taken.
21831 item *HCP = new item((zfix)0,(zfix)0,(zfix)0,iHCPiece,0,0);
5295
5296
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 21831 times.
21831 if(HCP)
5297 {
5298 21831 int32_t hcpphc = game->get_hcp_per_hc();
5299
2/2
✓ Branch 0 taken 21126 times.
✓ Branch 1 taken 705 times.
21831 HCP->tile = misc->colors.HCpieces_tile + vbound(game->get_HCpieces(),0,hcpphc > 0 ? hcpphc-1 : 0);
5300 21831 HCP->o_tile = HCP->tile;
5301 21831 HCP->cs = misc->colors.HCpieces_cset;
5302 21831 HCP->frames = 0;
5303 21831 add_subscr_item(HCP);
5304 21831 }
5305 21831 }
5306
5307
2/2
✓ Branch 0 taken 19801 times.
✓ Branch 1 taken 7823 times.
27624 if(has_item(itype_map, get_dlevel()))
5308 {
5309
4/8
✓ Branch 0 taken 7823 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 7823 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 7823 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 7823 times.
✗ Branch 7 not taken.
7823 add_subscr_item(new item((zfix)0,(zfix)0,(zfix)0,iMap,0,0));
5310 7823 }
5311
5312
2/2
✓ Branch 0 taken 18152 times.
✓ Branch 1 taken 9472 times.
27624 if(has_item(itype_compass, get_dlevel()))
5313 {
5314
4/8
✓ Branch 0 taken 9472 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 9472 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 9472 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 9472 times.
✗ Branch 7 not taken.
9472 add_subscr_item(new item((zfix)0,(zfix)0,(zfix)0,iCompass,0,0));
5315 9472 }
5316
5317
2/2
✓ Branch 0 taken 24268 times.
✓ Branch 1 taken 3356 times.
27624 if(has_item(itype_bosskey, get_dlevel()))
5318 {
5319
4/8
✓ Branch 0 taken 3356 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 3356 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3356 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 3356 times.
✗ Branch 7 not taken.
3356 add_subscr_item(new item((zfix)0,(zfix)0,(zfix)0,iBossKey,0,0));
5320 3356 }
5321
5322
2/2
✓ Branch 0 taken 27624 times.
✓ Branch 1 taken 14143488 times.
14171112 for(int32_t i=0; i<itype_max; i++)
5323 {
5324 //special case: ignore the dmap-specific items processed above. -DD
5325
6/6
✓ Branch 0 taken 14115864 times.
✓ Branch 1 taken 27624 times.
✓ Branch 2 taken 14088240 times.
✓ Branch 3 taken 27624 times.
✓ Branch 4 taken 27624 times.
✓ Branch 5 taken 14060616 times.
14143488 if(i == itype_map || i == itype_compass || i == itype_bosskey)
5326 82872 continue;
5327
5328 // Display the ring even if it has run out of magic.
5329
2/2
✓ Branch 0 taken 13650101 times.
✓ Branch 1 taken 410515 times.
14060616 if(current_item_id(i,false)>-1)
5330 {
5331 410515 int32_t j = current_item_id(i,false);
5332 //al_trace("About to check itemsbuf[j].tile in subscreen.cpp, line 4634, loop[%d]\n",j);
5333
2/2
✓ Branch 0 taken 2763 times.
✓ Branch 1 taken 407752 times.
410515 if(itemsbuf[j].tile)
5334
4/8
✓ Branch 0 taken 407752 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 407752 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 407752 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 407752 times.
✗ Branch 7 not taken.
407752 add_subscr_item(new item((zfix)0, (zfix)0,(zfix)0,j,0,0));
5335 410515 }
5336 14060616 }
5337 //al_trace("Finished load_Sitems(%d)\n",0);
5338
5339 27624 new_sel=true;
5340 27624 }
5341
5342 20761 void update_subscreens(int32_t dmap)
5343 {
5344
2/2
✓ Branch 0 taken 19461 times.
✓ Branch 1 taken 1300 times.
20761 if(dmap<0)
5345 19461 dmap=get_currdmap();
5346
5347 20761 int32_t index=DMaps[dmap].active_subscreen;
5348
5349 20761 int32_t i=-1, j=0;
5350
5351
4/4
✓ Branch 0 taken 2669 times.
✓ Branch 1 taken 67352 times.
✓ Branch 2 taken 49260 times.
✓ Branch 3 taken 20761 times.
70021 while(custom_subscreen[j].objects[0].type!=ssoNULL&&i!=index)
5352 {
5353
2/2
✓ Branch 0 taken 41031 times.
✓ Branch 1 taken 8229 times.
49260 if(custom_subscreen[j].ss_type==sstACTIVE)
5354 {
5355 41031 ++i;
5356 41031 }
5357
5358 49260 ++j;
5359 }
5360
5361 20761 current_subscreen_active=&custom_subscreen[j-1];
5362
5363 20761 index=DMaps[dmap].passive_subscreen;
5364
5365 20761 i=-1, j=0;
5366
5367
4/4
✓ Branch 0 taken 10084 times.
✓ Branch 1 taken 91728 times.
✓ Branch 2 taken 81051 times.
✓ Branch 3 taken 20761 times.
101812 while(custom_subscreen[j].objects[0].type!=ssoNULL&&i!=index)
5368 {
5369
2/2
✓ Branch 0 taken 45176 times.
✓ Branch 1 taken 35875 times.
81051 if(custom_subscreen[j].ss_type==sstPASSIVE)
5370 {
5371 35875 ++i;
5372 35875 }
5373
5374 81051 ++j;
5375 }
5376
5377 20761 current_subscreen_passive=&custom_subscreen[j-1];
5378 20761 }
5379
5380 64 int32_t ss_objects(subscreen_group *tempss)
5381 {
5382 64 int32_t i=0;
5383
5384
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 2768 times.
✓ Branch 2 taken 2704 times.
✓ Branch 3 taken 64 times.
2768 while(i<MAXSUBSCREENITEMS&&tempss->objects[i].type!=ssoNULL)
5385 {
5386 2704 ++i;
5387 }
5388
5389 64 return i;
5390 }
5391
5392
5393 64 void purge_blank_subscreen_objects(subscreen_group *tempss)
5394 {
5395 64 int32_t objects=ss_objects(tempss);
5396 subscreen_object tempsso;
5397
5398 //filter all the ssoNONE items to the end (yeah, bubble sort; sue me)
5399
2/2
✓ Branch 0 taken 2640 times.
✓ Branch 1 taken 64 times.
2704 for(int32_t j=0; j<objects-1; j++)
5400 {
5401
2/2
✓ Branch 0 taken 72336 times.
✓ Branch 1 taken 2640 times.
74976 for(int32_t k=0; k<objects-1-j; k++)
5402 {
5403
2/2
✓ Branch 0 taken 34208 times.
✓ Branch 1 taken 38128 times.
72336 if(tempss->objects[k].type==ssoNONE)
5404 {
5405 38128 tempsso=tempss->objects[k];
5406 38128 tempss->objects[k]=tempss->objects[k+1];
5407 38128 tempss->objects[k+1]=tempsso;
5408 38128 }
5409 72336 }
5410 2640 }
5411
5412 //NULL out the ssoNONE items
5413
2/2
✓ Branch 0 taken 2704 times.
✓ Branch 1 taken 64 times.
2768 for(int32_t j=0; j<objects; j++)
5414 {
5415
2/2
✓ Branch 0 taken 1456 times.
✓ Branch 1 taken 1248 times.
2704 if(tempss->objects[j].type==ssoNONE)
5416 {
5417 1248 tempss->objects[j].type=ssoNULL;
5418 1248 }
5419 2704 }
5420 64 }
5421
5422
5423
5424 int32_t get_alignment(subscreen_object *tempsso)
5425 {
5426 switch(tempsso->type)
5427 {
5428 case ssoTEXT:
5429 return tempsso->d2;
5430 break;
5431
5432 case ssoBSTIME:
5433 return sstaLEFT;
5434 break;
5435
5436 case ssoTIME:
5437 return sstaRIGHT;
5438 break;
5439
5440 case ssoSSTIME:
5441 return sstaRIGHT;
5442 break;
5443
5444 case ssoCOUNTER:
5445 return tempsso->d2;
5446 break;
5447
5448 case ssoMINIMAPTITLE:
5449 return tempsso->d2;
5450 break;
5451
5452 case ssoCURRENTITEMTEXT:
5453 case ssoCURRENTITEMNAME:
5454 case ssoSELECTEDITEMNAME:
5455 case ssoCURRENTITEMCLASSTEXT:
5456 case ssoCURRENTITEMCLASSNAME:
5457 case ssoSELECTEDITEMCLASSNAME:
5458 return sstaLEFT;
5459 break;
5460
5461 case ssoNONE:
5462 case sso2X2FRAME:
5463 case ssoLINE:
5464 case ssoRECT:
5465 case ssoMAGICMETER:
5466 case ssoLIFEMETER:
5467 case ssoBUTTONITEM:
5468 case ssoICON:
5469 case ssoCOUNTERS:
5470 case ssoMINIMAP:
5471 case ssoLARGEMAP:
5472 case ssoCLEAR:
5473 case ssoCURRENTITEM:
5474 case ssoITEM:
5475 case ssoTRIFRAME:
5476 case ssoTRIFORCE:
5477 case ssoTILEBLOCK:
5478 case ssoMINITILE:
5479 case ssoSELECTOR1:
5480 case ssoSELECTOR2:
5481 case ssoMAGICGAUGE:
5482 case ssoLIFEGAUGE:
5483 case ssoTEXTBOX:
5484 case ssoCURRENTITEMTILE:
5485 case ssoSELECTEDITEMTILE:
5486 default:
5487 return sstaLEFT;
5488 break;
5489 }
5490
5491 // return false;//UNREACHABLE
5492 }
5493
5494 //enum { sstsNORMAL, sstsSHADOW, sstsSHADOWU, sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsSHADOWED, sstsSHADOWEDU, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX, sstsMAX };
5495 // "None", "Shadow", "Shadow (U)","Shadow (O)", "Shadow (+)", "Shadow (X)", "Shadowed", "Shadowed (U)","Shadowed (O)","Shadowed (+)", "Shadowed (X)"
5496 //x-1
5497 //sstsSHADOWU, sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsSHADOWEDU, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX
5498 //w+1
5499 //sstsSHADOW, sstsSHADOWU, sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsSHADOWED, sstsSHADOWEDU, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX
5500 //y-1
5501 //sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX
5502 //h+1
5503 //sstsSHADOW, sstsSHADOWU, sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsSHADOWED, sstsSHADOWEDU, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX
5504
5505 int32_t sso_y(subscreen_object *tempsso)
5506 {
5507 int32_t y=0;
5508
5509 switch(tempsso->type)
5510 {
5511 case ssoLIFEMETER:
5512 y=tempsso->y+(tempsso->d2?0:(tempsso->d3?8:16));
5513 break;
5514
5515 case ssoNONE:
5516 case sso2X2FRAME:
5517 case ssoTEXT:
5518 case ssoLINE:
5519 case ssoRECT:
5520 case ssoBSTIME:
5521 case ssoTIME:
5522 case ssoSSTIME:
5523 case ssoMAGICMETER:
5524 case ssoBUTTONITEM:
5525 case ssoICON:
5526 case ssoCOUNTER:
5527 case ssoCOUNTERS:
5528 case ssoMINIMAPTITLE:
5529 case ssoMINIMAP:
5530 case ssoLARGEMAP:
5531 case ssoCLEAR:
5532 case ssoCURRENTITEM:
5533 case ssoITEM:
5534 case ssoTRIFRAME:
5535 case ssoTRIFORCE:
5536 case ssoTILEBLOCK:
5537 case ssoMINITILE:
5538 case ssoSELECTOR1:
5539 case ssoSELECTOR2:
5540 case ssoMAGICGAUGE:
5541 case ssoLIFEGAUGE:
5542 case ssoTEXTBOX:
5543 case ssoCURRENTITEMTILE:
5544 case ssoSELECTEDITEMTILE:
5545 case ssoCURRENTITEMTEXT:
5546 case ssoCURRENTITEMNAME:
5547 case ssoSELECTEDITEMNAME:
5548 case ssoCURRENTITEMCLASSTEXT:
5549 case ssoCURRENTITEMCLASSNAME:
5550 case ssoSELECTEDITEMCLASSNAME:
5551 y=tempsso->y;
5552 break;
5553
5554 default:
5555 y=(zc_oldrand()*1000)%64;
5556 break;
5557 }
5558
5559 switch(tempsso->type)
5560 {
5561 case ssoTEXT:
5562 case ssoBSTIME:
5563 case ssoTIME:
5564 case ssoSSTIME:
5565 case ssoCOUNTER:
5566 case ssoCOUNTERS:
5567 switch(tempsso->d3)
5568 {
5569 case sstsOUTLINE8:
5570 case sstsOUTLINEPLUS:
5571 case sstsOUTLINEX:
5572 case sstsOUTLINED8:
5573 case sstsOUTLINEDPLUS:
5574 case sstsOUTLINEDX:
5575 y-=1;
5576 break;
5577 }
5578
5579 break;
5580 }
5581
5582 return y;
5583 }
5584
5585 int32_t sso_x(subscreen_object *tempsso)
5586 {
5587 int32_t x=0;
5588
5589 switch(tempsso->type)
5590 {
5591 case ssoMAGICMETER:
5592 x=tempsso->x-10;
5593 break;
5594
5595 case ssoNONE:
5596 case sso2X2FRAME:
5597 case ssoTEXT:
5598 case ssoLINE:
5599 case ssoRECT:
5600 case ssoBSTIME:
5601 case ssoTIME:
5602 case ssoSSTIME:
5603 case ssoLIFEMETER:
5604 case ssoBUTTONITEM:
5605 case ssoICON:
5606 case ssoCOUNTER:
5607 case ssoCOUNTERS:
5608 case ssoMINIMAPTITLE:
5609 case ssoMINIMAP:
5610 case ssoLARGEMAP:
5611 case ssoCLEAR:
5612 case ssoCURRENTITEM:
5613 case ssoITEM:
5614 case ssoTRIFRAME:
5615 case ssoTRIFORCE:
5616 case ssoTILEBLOCK:
5617 case ssoMINITILE:
5618 case ssoSELECTOR1:
5619 case ssoSELECTOR2:
5620 case ssoMAGICGAUGE:
5621 case ssoLIFEGAUGE:
5622 case ssoTEXTBOX:
5623 case ssoCURRENTITEMTILE:
5624 case ssoSELECTEDITEMTILE:
5625 case ssoCURRENTITEMTEXT:
5626 case ssoCURRENTITEMNAME:
5627 case ssoSELECTEDITEMNAME:
5628 case ssoCURRENTITEMCLASSTEXT:
5629 case ssoCURRENTITEMCLASSNAME:
5630 case ssoSELECTEDITEMCLASSNAME:
5631 x=tempsso->x;
5632 break;
5633
5634 default:
5635 x=(zc_oldrand()*1000)%64;
5636 break;
5637 }
5638
5639 switch(tempsso->type)
5640 {
5641 case ssoTEXT:
5642 case ssoBSTIME:
5643 case ssoTIME:
5644 case ssoSSTIME:
5645 case ssoCOUNTER:
5646 case ssoCOUNTERS:
5647 switch(tempsso->d3)
5648 {
5649 case sstsSHADOWU:
5650 case sstsOUTLINE8:
5651 case sstsOUTLINEPLUS:
5652 case sstsOUTLINEX:
5653 case sstsSHADOWEDU:
5654 case sstsOUTLINED8:
5655 case sstsOUTLINEDPLUS:
5656 case sstsOUTLINEDX:
5657 x-=1;
5658 break;
5659 }
5660
5661 break;
5662 }
5663
5664 return x;
5665 }
5666
5667
5668
5669 int32_t sso_h(subscreen_object *tempsso)
5670 {
5671 int32_t h=0;
5672
5673 switch(tempsso->type)
5674 {
5675 case ssoNONE:
5676 h=5;
5677 break;
5678
5679 case sso2X2FRAME:
5680 h=tempsso->h*8;
5681 break;
5682
5683 case ssoTEXT:
5684 h=text_height(ss_font(tempsso->d1));
5685 break;
5686
5687 case ssoLINE:
5688 h=tempsso->h;
5689 break;
5690
5691 case ssoRECT:
5692 h=tempsso->h;
5693 break;
5694
5695 case ssoBSTIME:
5696 h=text_height(ss_font(tempsso->d1));
5697 break;
5698
5699 case ssoTIME:
5700 h=text_height(ss_font(tempsso->d1));
5701 break;
5702
5703 case ssoSSTIME:
5704 h=text_height(ss_font(tempsso->d1));
5705 break;
5706
5707 case ssoMAGICMETER:
5708 h=8;
5709 break;
5710
5711 case ssoLIFEMETER:
5712 h=tempsso->d3?24:16;
5713 break;
5714
5715 case ssoBUTTONITEM:
5716 h=16;
5717 break;
5718
5719 case ssoICON:
5720 h=8;
5721 break;
5722
5723 case ssoCOUNTER:
5724 h=text_height(ss_font(tempsso->d1));
5725 break;
5726
5727 case ssoCOUNTERS:
5728 h=32;
5729 break;
5730
5731 case ssoMINIMAPTITLE:
5732 h=16;
5733 break;
5734
5735 case ssoMINIMAP:
5736 h=48;
5737 break;
5738
5739 case ssoLARGEMAP:
5740 h=80;
5741 break;
5742
5743 case ssoCLEAR:
5744 h=5;
5745 break;
5746
5747 case ssoCURRENTITEM:
5748 h=16;
5749 break;
5750
5751 case ssoITEM:
5752 h=16;
5753 break;
5754
5755 case ssoTRIFRAME:
5756 h=16*((tempsso->d7)?7:3);
5757 break;
5758
5759 case ssoTRIFORCE:
5760 h=16;
5761 break;
5762
5763 case ssoTILEBLOCK:
5764 h=16*(tempsso->h);
5765 break;
5766
5767 case ssoMINITILE:
5768 h=8;
5769 break;
5770
5771 case ssoSELECTOR1:
5772 case ssoSELECTOR2:
5773 h=tempsso->d5?32:16;
5774 break;
5775
5776 case ssoMAGICGAUGE:
5777 h=8;
5778 break;
5779
5780 case ssoLIFEGAUGE:
5781 h=8;
5782 break;
5783
5784 case ssoTEXTBOX:
5785 h=tempsso->h;
5786 break;
5787
5788 case ssoCURRENTITEMTILE:
5789 h=16;
5790 break;
5791
5792 case ssoSELECTEDITEMTILE:
5793 h=16;
5794 break;
5795
5796 case ssoCURRENTITEMTEXT:
5797 h=16;
5798 break;
5799
5800 case ssoCURRENTITEMNAME:
5801 h=tempsso->h;
5802 break;
5803
5804 case ssoSELECTEDITEMNAME:
5805 h=tempsso->h;
5806 break;
5807
5808 case ssoCURRENTITEMCLASSTEXT:
5809 h=tempsso->h;
5810 break;
5811
5812 case ssoCURRENTITEMCLASSNAME:
5813 h=tempsso->h;
5814 break;
5815
5816 case ssoSELECTEDITEMCLASSNAME:
5817 h=tempsso->h;
5818 break;
5819
5820 default:
5821 h=(zc_oldrand()*1000)%64;
5822 break;
5823 }
5824
5825 switch(tempsso->type)
5826 {
5827 case ssoTEXT:
5828 case ssoBSTIME:
5829 case ssoTIME:
5830 case ssoSSTIME:
5831 case ssoCOUNTER:
5832 case ssoCOUNTERS:
5833 switch(tempsso->d3)
5834 {
5835 case sstsSHADOW:
5836 case sstsSHADOWU:
5837 case sstsOUTLINE8:
5838 case sstsOUTLINEPLUS:
5839 case sstsOUTLINEX:
5840 case sstsSHADOWED:
5841 case sstsSHADOWEDU:
5842 case sstsOUTLINED8:
5843 case sstsOUTLINEDPLUS:
5844 case sstsOUTLINEDX:
5845 h+=1;
5846 break;
5847 }
5848
5849 break;
5850 }
5851
5852 return h;
5853 }
5854
5855 int32_t sso_w(subscreen_object *tempsso)
5856 {
5857 int32_t w=0;
5858
5859 switch(tempsso->type)
5860 {
5861 case ssoNONE:
5862 w=5;
5863 break;
5864
5865 case sso2X2FRAME:
5866 w=tempsso->w*8;
5867 break;
5868
5869 case ssoTEXT:
5870 w=text_length(ss_font(tempsso->d1), (char *)tempsso->dp1);
5871 break;
5872
5873 case ssoLINE:
5874 w=tempsso->w;
5875 break;
5876
5877 case ssoRECT:
5878 w=tempsso->w;
5879 break;
5880
5881 case ssoBSTIME:
5882 w=text_length(ss_font(tempsso->d1), time_str_short2(game->get_time()));
5883 break;
5884
5885 case ssoTIME:
5886 w=text_length(ss_font(tempsso->d1), time_str_med(game->get_time()));
5887 break;
5888
5889 case ssoSSTIME:
5890 w=text_length(ss_font(tempsso->d1), time_str_med(game->get_time()));
5891 break;
5892
5893 case ssoMAGICMETER:
5894 w=82;
5895 break;
5896
5897 case ssoLIFEMETER:
5898 w=64;
5899 break;
5900
5901 case ssoBUTTONITEM:
5902 w=16;
5903 break;
5904
5905 case ssoICON:
5906 w=8;
5907 break;
5908
5909 case ssoCOUNTER:
5910 w=text_length(ss_font(tempsso->d1), "0")*tempsso->d4;
5911 break;
5912
5913 case ssoCOUNTERS:
5914 w=32;
5915 break;
5916
5917 case ssoMINIMAPTITLE:
5918 w=80;
5919 break;
5920
5921 case ssoMINIMAP:
5922 w=80;
5923 break;
5924
5925 case ssoLARGEMAP:
5926 w=16*((tempsso->d4)?9:7);
5927 break;
5928
5929 case ssoCLEAR:
5930 w=5;
5931 break;
5932
5933 case ssoCURRENTITEM:
5934 w=16;
5935 break;
5936
5937 case ssoITEM:
5938 w=16;
5939 break;
5940
5941 case ssoTRIFRAME:
5942 w=16*((tempsso->d7)?7:6);
5943 break;
5944
5945 case ssoTRIFORCE:
5946 w=16;
5947 break;
5948
5949 case ssoTILEBLOCK:
5950 w=16*(tempsso->w);
5951 break;
5952
5953 case ssoMINITILE:
5954 w=8;
5955 break;
5956
5957 case ssoSELECTOR1:
5958 case ssoSELECTOR2:
5959 w=tempsso->d5?32:16;
5960 break;
5961
5962 case ssoMAGICGAUGE:
5963 w=8;
5964 break;
5965
5966 case ssoLIFEGAUGE:
5967 w=8;
5968 break;
5969
5970 case ssoTEXTBOX:
5971 w=tempsso->w;
5972 break;
5973
5974 case ssoCURRENTITEMTILE:
5975 w=16;
5976 break;
5977
5978 case ssoSELECTEDITEMTILE:
5979 w=16;
5980 break;
5981
5982 case ssoCURRENTITEMTEXT:
5983 w=16;
5984 break;
5985
5986 case ssoCURRENTITEMNAME:
5987 w=tempsso->w;
5988 break;
5989
5990 case ssoSELECTEDITEMNAME:
5991 w=tempsso->w;
5992 break;
5993
5994 case ssoCURRENTITEMCLASSTEXT:
5995 w=tempsso->w;
5996 break;
5997
5998 case ssoCURRENTITEMCLASSNAME:
5999 w=tempsso->w;
6000 break;
6001
6002 case ssoSELECTEDITEMCLASSNAME:
6003 w=tempsso->w;
6004 break;
6005
6006 default:
6007 w=(zc_oldrand()*1000)%64;
6008 break;
6009 }
6010
6011 switch(tempsso->type)
6012 {
6013 case ssoTEXT:
6014 case ssoBSTIME:
6015 case ssoTIME:
6016 case ssoSSTIME:
6017 case ssoCOUNTER:
6018 case ssoCOUNTERS:
6019 switch(tempsso->d3)
6020 {
6021 case sstsSHADOW:
6022 case sstsSHADOWU:
6023 case sstsOUTLINE8:
6024 case sstsOUTLINEPLUS:
6025 case sstsOUTLINEX:
6026 case sstsSHADOWED:
6027 case sstsSHADOWEDU:
6028 case sstsOUTLINED8:
6029 case sstsOUTLINEDPLUS:
6030 case sstsOUTLINEDX:
6031 w+=1;
6032 break;
6033 }
6034
6035 break;
6036 }
6037
6038 return w;
6039 }
6040
6041 void sso_bounding_box(BITMAP *bmp, subscreen_group *tempss, int32_t index, int32_t color)
6042 {
6043 if(index<0)
6044 {
6045 return;
6046 }
6047
6048 int32_t x=sso_x(&tempss->objects[index]);
6049 int32_t y=sso_y(&tempss->objects[index]);
6050 int32_t w=sso_w(&tempss->objects[index]);
6051 int32_t h=sso_h(&tempss->objects[index]);
6052
6053 switch(get_alignment(&tempss->objects[index]))
6054 {
6055 case sstaCENTER:
6056 x-=(w/2);
6057 break;
6058
6059 case sstaRIGHT:
6060 x-=w;
6061 break;
6062
6063 case sstaLEFT:
6064 default:
6065 break;
6066 }
6067
6068 int32_t c=x+w/2;
6069 int32_t m=y+h/2;
6070 bool normalrect=true;
6071
6072 if(color==-1)
6073 {
6074 color=jwin_pal[jcTITLER];
6075 }
6076 else if(color==-2)
6077 {
6078 color=jwin_pal[jcTITLEL];
6079 }
6080
6081 //draw a bounding box around the current object
6082 if(normalrect)
6083 {
6084 rect(bmp, x, y, x+w-1, y+h-1, color);
6085 }
6086 else
6087 {
6088 rect(bmp, x-1, y-1, x+1, y+1, color);
6089 rect(bmp, x-1, y+h-2, x+1, y+h, color);
6090 rect(bmp, x+w-2, y-1, x+w, y+1, color);
6091 rect(bmp, x+w-2, y+h-2, x+w, y+h, color);
6092
6093 if(w>=9)
6094 {
6095 rect(bmp, c-1, y-1, c+1, y+1, color);
6096 rect(bmp, c-1, y+h-2, c+1, y+h, color);
6097 _allegro_hline(bmp, x+2, y, c-2, color);
6098 _allegro_hline(bmp, c+2, y, x+w-3, color);
6099 _allegro_hline(bmp, x+2, y+h-1, c-2, color);
6100 _allegro_hline(bmp, c+2, y+h-1, x+w-3, color);
6101 }
6102 else
6103 {
6104 _allegro_hline(bmp, x+2, y, x+w-3, color);
6105 _allegro_hline(bmp, x+2, y+h-1, x+w-3, color);
6106 }
6107
6108 if(h>=9)
6109 {
6110 rect(bmp, x-1, m-1, x+1, m+1, color);
6111 rect(bmp, x+w-2, m-1, x+w, m+1, color);
6112 _allegro_vline(bmp, x, y+2, m-2, color);
6113 _allegro_vline(bmp, x, m+2, y+h-3, color);
6114 _allegro_vline(bmp, x+w-1, y+2, m-2, color);
6115 _allegro_vline(bmp, x+w-1, m+2, y+h-3, color);
6116 }
6117 else
6118 {
6119 _allegro_vline(bmp, x, y+2, y+h-3, color);
6120 _allegro_vline(bmp, x+w-1, y+2, y+h-3, color);
6121 }
6122 }
6123 }
6124
6125
6126 10003597 int32_t scounter_to_ctr(int32_t ssc)
6127 {
6128
4/33
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✓ Branch 2 taken 6040548 times.
✓ Branch 3 taken 1930087 times.
✓ Branch 4 taken 1038093 times.
✓ Branch 5 taken 994869 times.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✗ Branch 30 not taken.
✗ Branch 31 not taken.
✗ Branch 32 not taken.
10003597 switch(ssc)
6129 {
6130 6040548 case sscRUPEES: return crMONEY;
6131 1930087 case sscBOMBS: return crBOMBS;
6132 1038093 case sscSBOMBS: return crSBOMBS;
6133 994869 case sscARROWS: return crARROWS;
6134 case sscSCRIPT1: return crCUSTOM1;
6135 case sscSCRIPT2: return crCUSTOM2;
6136 case sscSCRIPT3: return crCUSTOM3;
6137 case sscSCRIPT4: return crCUSTOM4;
6138 case sscSCRIPT5: return crCUSTOM5;
6139 case sscSCRIPT6: return crCUSTOM6;
6140 case sscSCRIPT7: return crCUSTOM7;
6141 case sscSCRIPT8: return crCUSTOM8;
6142 case sscSCRIPT9: return crCUSTOM9;
6143 case sscSCRIPT10: return crCUSTOM10;
6144 case sscSCRIPT11: return crCUSTOM11;
6145 case sscSCRIPT12: return crCUSTOM12;
6146 case sscSCRIPT13: return crCUSTOM13;
6147 case sscSCRIPT14: return crCUSTOM14;
6148 case sscSCRIPT15: return crCUSTOM15;
6149 case sscSCRIPT16: return crCUSTOM16;
6150 case sscSCRIPT17: return crCUSTOM17;
6151 case sscSCRIPT18: return crCUSTOM18;
6152 case sscSCRIPT19: return crCUSTOM19;
6153 case sscSCRIPT20: return crCUSTOM20;
6154 case sscSCRIPT21: return crCUSTOM21;
6155 case sscSCRIPT22: return crCUSTOM22;
6156 case sscSCRIPT23: return crCUSTOM23;
6157 case sscSCRIPT24: return crCUSTOM24;
6158 case sscSCRIPT25: return crCUSTOM25;
6159 case sscLIFE: return crLIFE;
6160 case sscMAGIC: return crMAGIC;
6161 case sscGENKEYMAGIC: case sscGENKEYNOMAGIC:
6162 case sscANYKEYMAGIC: case sscANYKEYNOMAGIC:
6163 return crKEYS;
6164 }
6165 return crNONE;
6166 10003597 }
6167
6168 /*** end of subscr.cc ***/
6169
6170